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: Luiz guilherme Nunes Fernandes
Subject: Re: [shell-script] Re: Dúvida
Date: Wed, 28 Oct 2015 16:40:58 +0000 (UTC)

Realmente quando inseri o export funciono. Obrigado.



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


 
vamos la

primeiro, fazer

cat arquivo | grep expressão

é meio q inutil pois vc cria dois processos e um pipe sincronizando os dois através de I/O. mesmo q vc tenha uma excelente desculpa para faze-lo vc ainda tem q pensar que o grep esta sendo executado em um subshell que não tem acesso as variaveis criadas no shell pai A MENOS QUE vc exporte as variaveis.

ou seja

VAR=qqcoisa
export VAR
cat arquivo | grep $VAR

vai funcionar.

VAR=qqcoisa
grep $VAR arquivo

vai funcionar ainda melhor

On Wed, Oct 28, 2015 at 5:08 PM, Luiz guilherme Nunes Fernandes address@hidden [shell-script] <address@hidden> wrote:
 
Prezados,
        a questão é a seguinte.

Realizei os testes aqui e nenhum deles obtive o exito que esperava.

eu tenho permissão para ler o arquivo mail.log

Por exemplo no log tem dados da data 26,27 e28

Preciso filtrar por exemplo o dia 27.

Mas para isso já tenho um pedaço do script que verifica os dias.

DIAMESQQ=$(date +%d -d "-1 day")

Então necessito fazer um friltro no maillog com a data referente a váriavel DIAMESQQ.

Mas quando do cat /var/log/mail.log | grep $DIAMESQQ, o grep não trabalha com a leitura de variáveis e diantes disto não consigo achar uma saida.


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


 


Luiz

Antes de mais nada 2 perguntas:
Tem permissão de acesso ao arquivo /var/log/maillog com o usuário que está usando?
Quer o conteúdo de 3 dias atrás ou quer dos 3 últimos dias?

E adiciono outra consideração que ao meu ver melhora a perfomance:
Usar a construção cat arquivo | grep "filtro" deveria ser evitada já que pode usar o grep apenas:
 grep "filtro" arquivo

Com base nessa última consideração experimente observar o que acontece se usar a opção --color=always junto no grep, vc pode estar filtrando não apenas o dia, mas também casando outras partes.
Nesse caso poderia ser mais específico no formato da data:
 grep "$(LANG=C date +'%b %d' -d "-3 day")" /var/log/maillog

Por enquanto é tudo

[]'s
Itamar





--
Tiago B. Peczenyj

http://about.me/peczenyj



reply via email to

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