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

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

RES: [shell-script] Erro no grep ?


From: Emerson Domingues Souto - H2M
Subject: RES: [shell-script] Erro no grep ?
Date: Thu, 1 Mar 2012 09:57:18 -0300

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
> 



reply via email to

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