Como mencionado nos comentários, você precisa usar zgrep
em arquivos compactados, mas o que você está fazendo é adicionar -r
à lista de opções, o que não é suportado por zgrep
que vem com o Ubuntu .
-r
é usado para o percurso recursivo da árvore de diretórios. Podemos fazer o mesmo com o comando find
e usar -exec
flag para executar zgrep
em cada arquivo compactado encontrado.
Como não tenho nenhum exemplo de arquivos que você usa, o comando abaixo é apenas um exemplo. Ajuste conforme necessário:
find -type f -name "*.tar.gz" -exec zgrep -a "ERROR24" /home/tests/logs > /home/files/data/result/listErrors.txt \;
Observe que -l
aqui não pode ser usado, porque apenas lista o nome do arquivo do próprio arquivo. Como alternativa, você sempre pode usar zcat
e filtrar sua saída com grep
, mas isso provavelmente é mais incômodo do que o necessário.