[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 14:04:42 -0300 |
Acho que é isso mesmo, deve ser o tamanho da linha do arquivo (acho)
Mas nesse caso aconteceu na hora que ele executa um grep em um diretório com
muitos arquivos.
Só pra entender fiz 2 greps puros, olha os resultados:
# grep -li caractproduto DIR_PEQUENO
(não aconteceu nada)
# grep -li caractproduto DIR_GRANDAO
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.
Deu todos esses erros ai. Pode ser que sejam 4 arquivos esquisitos dentro do
diretório, mas eu não sei.
Emerson Domingues Souto
Tecnologia da Informação
Marítima Seguros S/A
> -----Mensagem original-----
> De: address@hidden [mailto:shell-
> address@hidden] Em nome de Fredi Bieging
> Enviada em: quinta-feira, 1 de março de 2012 10:48
> Para: address@hidden
> Assunto: Re: [shell-script] Erro no grep ?
>
> 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]
>
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> 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
>
- Re: [shell-script] Erro no grep ?, (continued)
- RES: [shell-script] Erro no grep ?, Emerson Domingues Souto - H2M, 2012/03/01
- Re: [shell-script] Erro no grep ?, Valtoir, 2012/03/01
- Re: [shell-script] Erro no grep ?, Robson Alexandre, 2012/03/01
- RES: [shell-script] Erro no grep ?, Emerson Domingues Souto - H2M, 2012/03/01
- RES: [shell-script] Erro no grep ?, Emerson Domingues Souto - H2M, 2012/03/01
- Re: [shell-script] Erro no grep ?, Fredi Bieging, 2012/03/01
- RES: [shell-script] Erro no grep ?,
Emerson Domingues Souto - H2M <=
- Re: [shell-script] Erro no grep ?, Fredi Bieging, 2012/03/01
Re: [shell-script] Erro no grep ?, Julio C. Neves, 2012/03/02