shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Re: Re: Contar linhas entre um determinado texto


From: Roberto Alves
Subject: Re: [shell-script] Re: Re: Contar linhas entre um determinado texto
Date: Fri, 9 May 2008 16:37:16 -0300

Mop obrigadao pela ajuda!
Ainda não testei a sua opção mais nova. Vou tentar na proxima semana.
Flavio,
é isso mesmo. Vlw.
Mas vou ter que descobrir porque o sh ta dando a msg de:

sed: 602-404  Function sed -n '/^| SOURCE DIR/,${/data/p} cannot be parsed.
0

Talvez versão do sed que nao aceite algo.
Continuo na próxima semana.
Vlw!!!
Bom fim de semana a todos.

Roberto



2008/5/9 mop <address@hidden>:

> Se o sed funcionar é melhor opção.
> Acho que está havendo problema com tab ou com espaçoes múltiplos.
>
> Para matar a dúvida nas duas linhas chave:
>
> Imagino que tem "od" no aix.
>
> Isso é o que eu tenho por aqui e que funcionou com o que postei:
>
> $ grep -m1 SOURCE file|od -t x1
> 0000000 7c 20 53 4f 55 52 43 45 20 44 49 52 20 7c 20 53
> 0000020 4f 55 52 43 45 20 46 49 4c 45 20 7c 0a
> 0000035
>
> $ grep -m1 ^+ file|od -t x1
> 0000000 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d
> 0000020 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d
> *
> 0000100 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a
> 0000115
>
>
> Flávio, só lembre que as linhas com ".file" se repetem em outras seções:
> $ sed -n '/^| SOURCE DIR/,${/data/p}' file | wc -l
> 8
>
> Isso, para o meu conteúdo de "file" (o teu txt) que mostrei.
>
>
>
> ------------------------------------------
> >From: "Flavio Junior"
> >
> >Eu devo ter entendido errado, mas...
> >
> >Da uma olhadinha:
> >http://rafb.net/p/FAYfMg76.html
> >
> >--
> >
> >Flavio do Carmo Jr
> >
> >2008/5/9 mop <address@hidden>:
> >>
> >> Eis uma idéia com shell.
> >> Considerei que o shell lá é o ksh.
> >> Eu só tenho o ksh93.
> >> Montei uma função "conta".
> >>
> >> $ cat s
> >> #!/bin/ksh
> >> conta(){
> >> L=${#1};x=0
> >> while read R;do
> >>  if [ $A ];then
> >>  if [ $B ];then
> >>   [ "${R:0:1}" == + ]&&B=||{
> >>    #echo "$R"
> >>    x=$(($x+1))
> >>   }
> >>  else
> >>   [ "${R:0:1}" == + ]&&B=1
> >>  fi
> >>  else
> >>  [ "${R:0:$L}" == "$1" ]&&A=1
> >>  fi
> >> done
> >> echo $x
> >> }
> >>
> >> cat file|conta "| SOURCE DIR"
> >>
> >> #---fim do arquivo
> >>
> >>
> >> Executando:
> >> $ ./s
> >> 7
> >>
> >>
> >> Como base:
> >> $ cat file
> >> | data/input | zzzzzzzzzzzzz.file |
> >> +-------------------------------------------------------------+
> >> | listing for ROBERT +
> >> +-------------------------------+-----------------------------+
> >> | SOURCE DIR | SOURCE FILE |
> >> +-------------------------------+-----------------------------+
> >> | data/input | 1147.file |
> >> | data/input | 1478.file |
> >> | data/input | 1483.file |
> >> | data/input | 2847.file |
> >> | data/input | 8284.file |
> >> | data/input | 8157.file |
> >> | data/input | 1118.file |
> >> +-------------------------------+----------------------------+
> >> | data/input | zzzzzzzzzzzzz.file |
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
> Links do Yahoo! Grupos
>
>
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]