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

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

Re: [shell-script] Busca em ShellScript


From: Osvaldo Filho
Subject: Re: [shell-script] Busca em ShellScript
Date: Sun, 3 Feb 2013 15:36:44 -0300

Muito obrigado...

Sempre o bom Júlio, esclarecendo nossas duvidas!

Enviado via iPad

Em 02/02/2013, às 13:20, "Julio C. Neves" <address@hidden> escreveu:

> A pergunta não é boba não. Veja o -exec interpreta final {} \; da seguinte
> maneira:
> 1- cada arquivo que case com o find será colocado no lugar do par de chaves;
> 2- o ponto-e-vírgula é significativo para o shell e a contrabarra é para
> não deixar o shell interpretá-lo;
> 3- O ponto-e-vírgula é idêntico ao <ENTER> e, porisso, serve para executar
> mais de 1 cmd na mesma linha.
> 
> Supondo que seu find mandou para o -exec 3 arqs: arq1, arq2 e arq3, a linha
> montada e mandada para execução seria:
> 
> grep -i "string" arq1 ; grep -i "string" arq2 ; grep -i "string" arq3 ;
> 
> Isto é, estará executando 3 vezes o grep.
> 
> Caso o terminador fosse {} \+, a linha mandada para execução, seria:
> 
> grep -i "string" arq1 arq2 arq3
> 
> Isto é, somente um grep e muito menos tempo de execução.
> 
> Abcs,
> Julio
> @juliobash
> 
> 
> Em 2 de fevereiro de 2013 12:15, Osvaldo Filho <address@hidden
>> escreveu:
> 
>> **
>> 
>> 
>> A pergunta pode ser boba, mas qual a função do uso da "\+" no final do
>> comando?
>> 
>> Enviado via iPad
>> 
>> Em 02/02/2013, às 09:28, "Julio C. Neves" address@hidden> escreveu:
>> 
>>> Armando,
>>> vou te pedir um favor: rode as linhas a seguir e publique o resultado
>> nessa
>>> lista para que a rapaziada veja que o modo mais tradicional e mais
>> usado, é
>>> o mais lento.
>>> 
>>> Modo tradicional:
>>> $ time find . -type f -exec grep -i "string" {} > /dev/null \;
>>> 
>>> Ligeiramente "envenenado":
>>> $ time find . -type f | xargs grep -i "string" > /dev/null
>>> 
>>> Muito "envenenado":
>>> $ time find . -type f -exec grep -i "string" {} > /dev/null \+
>>> 
>>> Mandei as saídas para /dev/null pq todas as saídas seriam iguais e
>>> igualmente corretas, mas o que nos interessa no caso é somente os tempos.
>>> 
>>> - Dever de casa - ;)
>>> Se alguém além do Armando (que iniciou a thread) tiver um diretório com
>>> muitos arquivos de texto que possa fazer essa medição, peço que tb poste
>> os
>>> resultados na lista.
>>> 
>>> Abcs,
>>> Julio
>>> @juliobash
>>> 
>>> Em 1 de fevereiro de 2013 20:13, Rafael Henrique da Silva Correia <
>>> address@hidden> escreveu:
>>> 
>>>> Acrescentando meus 0,02 centavos (li alternativas ótimas nas respostas
>> do
>>>> pessoal).... eu geralmente uso algo assim:
>>>> 
>>>> $ find
>>> 
>>> -type f -exec grep -i "string" \;
>>>> 
>>>> Espero que vc consiga achar o find perfeito para seu problema ... ;)
>>>> 
>>>> Até+
>>>> 
>>>> Em 1 de fevereiro de 2013 15:53, Armando Barsotini Neto <
>>> address@hidden> escreveu:
>>>> 
>>>>> **
>>>>> 
>>>>> 
>>>>> Boa Tarde!
>>>>> 
>>>>> Pessoal, estou utilzando o comando abaixo para pesquisar uma palavra
>>>> dentro
>>>>> de uma arquivo utilizando o "grep -i" (não sensitivo):
>>>>> 
>>>>> find . | xargs grep -i "string"
>>>>> 
>>>>> Porém, ele faz a varredura no servidor inteiro e isso demora muito...
>>>> teria
>>>>> como limitar essa busca em um determinado diretório e seus
>> subdiretórios?
>>>>> Agradeço!
>>>>> 
>>>>> Att,
>>>>> 
>>>>> Armando Barsotini Neto
>>>>> 
>>>>> Linux User # 503670
>>>>> Ubuntu User # 30175
>>>>> 
>>>>> [As partes desta mensagem que não continham texto foram removidas]
>>>> 
>>>> 
>>>> 
>>>> --
>>>> Rafael Henrique da Silva Correia
>>>> http://abraseucodigo.com.br
>>>> 
>>>> Bacharel em Ciência da Computação
>>>> Administrador de Sistemas Linux
>>>> Certificado pela LPIC - 101 http://www.lpi.org/>
>>>> Certificado Novell (CLA) http://www.novell.com/training/certinfo/cla/>
>>>> 
>>>> 
>>>> [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]
>> 
>> [As partes desta mensagem que não continham texto foram removidas]
> 
> 
> [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]