live tail (tail -f) do arquivo que está sendo grepped

0

eu posso fazer tail -f -n20 <file> para ver as últimas 20 linhas do arquivo, ao vivo.

Se eu quiser falar algo, tail -f <file> | grep <pattern> , ele ainda estará vivo, mas irá apenas passar pela saída da cauda, o que significa que não tenho 20 linhas de saída em primeiro lugar. (se apenas 5 de 20 linhas corresponderem ao meu padrão, eu só recebo 5 linhas de saída)

Se eu fizer algo como

grep <pattern> <file> | tail -n20 

Eu tenho 20 linhas de saída, mas não é ao vivo, nem é

cat <file> | grep <pattern> | tail -n20

Como posso ver uma atualização ao vivo das últimas n linhas de um arquivo após grepping?

    
por chiliNUT 22.01.2016 / 18:06

1 resposta

0

Você pode usar tee com substituição de processo >() :

tail -f -n 20 file.log | tee >(grep 'pattern')

Isso mostrará as últimas 20 linhas de file.log e, em seguida, o resultado de grep .

    
por 22.01.2016 / 18:16

Tags