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

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

Re: [shell-script] Erro no grep ?


From: Fredi Bieging
Subject: Re: [shell-script] Erro no grep ?
Date: Thu, 1 Mar 2012 10:48:17 -0300

Agora me dei conta que o problema é o tamanho da linha nos arquivos e não
no comando. Uma alternativa arriscada seria fazer num for: "cat arquivo |
grep fold -w 2047 | grep -li caractproduto", mas o fold poderia quebrar a
linha bem na palavra "caractproduto"...
Não tem como instalar o ack <http://betterthangrep.com> aí não?

2012/3/1 Emerson Domingues Souto - H2M <address@hidden>

> **
>
>
> Tiago,
>
> Estou usando o "ls" no lugar do "find" porque a pesquisa não pode se
> aprofundar nos subdiretórios e porque o utilitário "find" instalado nessa
> versão do Unix (AIX 4) não aceita os argumentos "-prune" e "-maxdepth",
> portanto a solução foi usar o "ls" .... por enquanto ainda não achei outro
> jeito rsrsrs
>
> O "tr" foi uma tentativa de mostrar em 1 nome de arquivo por linha, sem
> isso o resultado é uma linha gigantesca com os mais de 5000 arquivos
> concatenados e separados por espaço em branco.
>
> Já havia colocado antes um "echo" na frente do "xargs" e tá ok.
>
> O problema é que o "grep" tá mostrando essa mensagem de aviso, mas
> funciona perfeitamente, eu queria entender melhor o que está ocorrendo ....
> o porquê da mensagem? se corre algum risco do resultado estar errado? se
> tem algum substituto pro "grep -li" como o "awk" por exemplo ? etc
>
> O Petterson já me deu uma boa dica, pois pelo que eu entendi, o "grep"
> está sendo executado em uma linha de comando superior a 2048 bytes, ou
> seja, apesar de eu ter usado o "tr" pra que o resultado fosse 1 arquivo por
> linha, na hora de executar o "grep" juntou tudo. Isso eu ainda não entendi
> o porquê
>
>
> Emerson Domingues Souto
> Tecnologia da Informação
> Marítima Seguros S/A
>
> > -----Mensagem original-----
> > De: address@hidden [mailto:shell-
> > address@hidden] Em nome de Tiago Peczenyj
> > Enviada em: quinta-feira, 1 de março de 2012 09:39
> > Para: address@hidden
> > Assunto: Re: [shell-script] Erro no grep ?
>
> >
> > Ola
> >
> > qual é a razão para vc fazer
> >
> > ls | xargs echo | tr ?
> >
> > se vc quer fazer um grep em todos estes arquivos eu indico fazer
> >
> > find -type f | xargs grep -li caractproduto
> >
> > ou
> >
> > find -type f -exec grep -li caractproduto {} \+
> >
> > agora se vc tem arquivos que possuam o nome com espaço em branco vc
> > pode fazerm na primeira linha
> >
> > find ... -print0 | xargs -0 ...
> >
> > provavelmente vc montou uma linha esquisita para o xargs e o grep não
> > entendeu. sugestão: coloque um echo na frente do grep e veja o que ele
> > esta tentando fazer.
> >
> > 2012/3/1 Emerson Domingues Souto - H2M
> > <address@hidden>
> >
> > > **
> > >
> > >
> > > Bom dia!
> > >
> > > Estou executando um grep numa lista de mais de 5000 arquivos, mas tá
> > > ocorrendo o erro abaixo.
> > >
> > > Alguem sabe explicar o porquê ? Será que o erro é por causa do número
> > > de arquivos ?
> > >
> > > # ls | xargs echo | tr -s ' ' '\n' | xargs grep -li caractproduto
> > >
> > > grep: 0652-226 Maximum line length of 2048 exceeded.
> > >
> > > grep: 0652-226 Maximum line length of 2048 exceeded.
> > >
> > > grep: 0652-226 Maximum line length of 2048 exceeded.
> > >
> > > grep: 0652-226 Maximum line length of 2048 exceeded.
> > >
> > > afpp01.sql
> > >
> > > avcp00.sql
> > >
> > > Emerson Domingues Souto
> > >
> > > Tecnologia da Informação
> > >
> > > Marítima Seguros S/A
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> >
> >
> > --
> > Tiago B. Peczenyj
> > Linux User #405772
> >
> > http://pacman.blog.br
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> > ------------------------------------
> >
> > ----------------------------------------------------------
> > 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]