[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]
- Re:[shell-script] tail -f,
MrBiTs <=