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

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

Re:[shell-script] tail -f


From: MrBiTs
Subject: Re:[shell-script] tail -f
Date: Sun, 12 Jun 2005 15:23:18 -0300

> Pq eu não consigo exibir o conteudo desse comando, pois eu quero usar
> ele mas continuar lendo.... tem como???
> #!/bin/sh
> if [ -e /var/log/iptables ]
> then
> LOGIPT=/var/log/iptables
> for i in $( tail -f -n `wc -l $LOGIPT | cut -f 1 -d \ ` $LOGIPT |
> cut -f 9 -d ' ' | cut -f 2 -d = ) ]
> do
> echo $i
> done
> fi

Além de sua pergunta estar confusa e incompleta, ja que vc nao falou 
efetivamente o que voce quer fazer, o seu script esta redundante e utilizando 
comandos incorretamente. Aos finais de semana, a minha bola de cristal 
descansa, mas eu vou tentar apontar seus erros e problemas:

tail -f le um arquivo enquanto ele continua sendo incrementado. É por isso que 
voce diz que "ele continua lendo". É bom para acompanhar "on the fly" o que o 
arquivo LOGIPT esta recebendo. Até onde entendi vc quer fazer um tail no LOGIPT 
de tantas quantas forem suas linhas, ja que wc -l retorna o numero de linhas 
que LOGIPT possui. Fazer um tail -n na quantidade total de linhas do arquivo é 
o mesmo que fazer um cat nele. O comando tail deveria ser usado para ler as n 
ultimas linhas de um arquivo, assim como o comando head deveria ser usado para 
ler as n primeiras linhas do arquivo. 

Pq vc nao faz simplesmente:

cat /var/log/iptables | cut -f 9 -d ' ' | cut -f 2 -d = 

Também aconselho voce a ler mais atentamente a man page do tail e executar cada 
uma de suas opcoes separadamente, para voce entender o que cada uma faz.


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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