Grep em loop infinito
Realiza um grep infinito em um arquivo, útil para se acompanhar um log de alguma ferramenta.
Exemplo de uso:
$ chmod 777 filtro
$ ./filtro "LOGIN" /var/log/messages 6
LOGIN = padrão para buscar no arquivo
/var/log/messages = arquivo para fazer a pesquisa
6 = tempo para atualização
Exemplo de uso:
$ chmod 777 filtro
$ ./filtro "LOGIN" /var/log/messages 6
LOGIN = padrão para buscar no arquivo
/var/log/messages = arquivo para fazer a pesquisa
6 = tempo para atualização
Descrição
Realiza um grep infinito em um arquivo, útil para se acompanhar um log de alguma ferramenta.
Exemplo de uso:
$ chmod 777 filtro
$ ./filtro "LOGIN" /var/log/messages 6
LOGIN = padrão para buscar no arquivo
/var/log/messages = arquivo para fazer a pesquisa
6 = tempo para atualização
Exemplo de uso:
$ chmod 777 filtro
$ ./filtro "LOGIN" /var/log/messages 6
LOGIN = padrão para buscar no arquivo
/var/log/messages = arquivo para fazer a pesquisa
6 = tempo para atualização
Versões atualizadas deste script
####################################### ## Grep infinito ## ## Descricao: ## realiza um grep infinito em um arquivo, util para se acompanhar ## um log de alguma ferramenta ## Trabalha em loop infinito, para sair tecle control-c ## ## Entradas: palavra - arquivo - tempo de atualizacao ## Saidas: linhas com o padrap na saida padrao ## ## autor: Evaldo Avelar Marques agosto - 2009 ## versao: 1.0 ## ######################################## #!/bin/bash #verifica o padrao if [ -z $1 ]; then echo "Padrao não foi informado! "; exit 2; else padrao=$1; fi #verifica o arquivo if [ -z $2 ];then echo "Arquivo nao foi informado! "; exit 2; #checa se o arquivo existe elif [ ! -f $2 ] ;then echo "Arquivo nao existe! " exit 2; #checa se arquivo esta vazio elif [ ! -s $2 ] ;then echo "Arquivo esta vazio! " exit 2; else log=$2; fi #verifica o contador de tempo if [ -z $3 ];then tmp=5; else tmp=$3; fi while : ; do grep $padrao $log ; sleep $tmp; done; ############### Fim ##########################3
tail -f <ARQUIVO> | grep <PADRAO>
mas posso ta errado : )