for d in */*/*/*; do
printf '%s: ' "$d"
zcat -- "$d/"*.gz | grep -Fc STRING
done
contaria o número de linhas que contêm STRING.
Substitua grep -Fc STRING
por grep -Fo STRING | wc -l
(assumindo o GNU grep
) para ter o número de ocorrências.
Substitua zcat
por gzip -dc
se o seu zcat
não suportar .gz
arquivos.
Com zsh
e% GNUgrep
, você pode encurtá-lo para:
for d (*/*/*/*) zcat $d/*.gz | grep -FcH --label=$d STRING