Isso parece funcionar para mim, não tenho certeza se é a melhor maneira:
find . -name '*.log' -exec tail {} \; | grep GET | more
O principal é executar os comandos em uma ordem mais correta.
Boa sorte!
O seguinte está funcionando conforme o esperado.
find /opt/ -name "somefile.out" -exec grep 'Connection refused' {} \; | more
Mas se eu quiser pesquisar apenas na cauda dos arquivos encontrados, eu não posso adicionar cauda ou cauda -100 assim ...
find /opt/ -name "somefile.out" -exec grep 'Connection refused' tail {} \; | more
Qual é a melhor maneira de pesquisar texto nas últimas linhas?
Sua pergunta provavelmente já foi respondida aqui: link
Você pode usar o perl para o trabalho de tail e grep, embora (note: isso é meio que briguento por causa da surpreendente complexidade, mas deve funcionar):
find /opt/ -name "somefile.out" -exec perl -ne 'push @a, $_; @a = @a[@a-NUMBEROFLINES..$#a]; END { foreach (@a) { print if /PATTERN/ } }' '{}' \;
Se, em vez de um intervalo definido de linhas que você deseja analisar depois que um determinado "rodapé" for visto, o perl facilitará o uso de você:
perl -ne 'print if /footer/ .. eof() and /PATTERN/'