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

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

Re: [shell-script] Re: Dúvida


From: Tiago Peczenyj
Subject: Re: [shell-script] Re: Dúvida
Date: Wed, 28 Oct 2015 18:01:24 +0100

eu não digo q devemos evitar o uso do 

cat arquivo | grep expressão

quando estamos tentando compreender o problema, essa construção aparece naturalmente. as vezes o texto é grande então é facil colocar um head/tail para restringir enquanto a gente pensa.

entretanto quando a gente ja sabe como pesquisar e queremos fazer isso varias vezes ( atraves de um script por exemplo ) ai vale a pena pensar em remover coisas q vão atrapalhar o desempenho, isso vai acontecer certamente se vc lida com muitos arquivos ( ou arquivos muito grandes, ou NFS, etc ).

as vezes isso

cat arquivo | grep expressao | sort | uniq -c

pode ser mais eloquente do que

awk '/expressao/{ array[$0]++ } END{for( i in array) print i, array[i] }' arquivo

mas a gente não precisa exagerar né :)



On Wed, Oct 28, 2015 at 5:51 PM, Luiz guilherme Nunes Fernandes address@hidden [shell-script] <address@hidden> wrote:
 

Ok agora entendi, vlw obrigado.



Em Quarta-feira, 28 de Outubro de 2015 14:44, "address@hidden [shell-script]" <address@hidden> escreveu:


 
Luiz

O que o Tiago diz está correto e eu reforço.

A construção como pipe, exceto que seja estritamente necessário, deve ser evitada já que o grep pode ler o arquivo diretamente, como já foi exemplificado.

Se a variável DIAMESQQ está dentro de um script, onde o grep não atua, então ele realmente não enxerga. A menos que seja explicitamente exportada.

Se ainda assim não funcionar testa com sed ou awk

 sed -n "/$DIAMESQQ/p" /var/log/maillog
 ou
 awk '/'"$DIAMESQQ"'/' /var/log/maillog
 
Caso ainda não funciona, mostre mais detalhes do script que está usando e um "passo a passo" do que está fazendo

[]'s
Itamar





--
Tiago B. Peczenyj

http://about.me/peczenyj

reply via email to

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