ssh должностное лицо mike@portal ssh mike@webserver
Принятие Вас соединяется с ключами, больше флагов потребовало при использовании интерактивных паролей.
for d in */*/*/*; do
printf '%s: ' "$d"
zcat -- "$d/"*.gz | grep -Fc STRING
done
подсчитывает количество строк, содержащих STRING.
Замените grep -Fc STRING
на grep -Fo STRING | wc -l
(предполагая GNU grep
), чтобы получить количество вхождений.
Замените zcat
на gzip -dc
, если ваш zcat
не поддерживает .gz
файлы.
С помощью zsh
и GNU grep
вы можете сократить его до:
for d (*/*/*/*) zcat $d/*.gz | grep -FcH --label=$d STRING
Если вы хотите сделать это без стандартного анализатора логов, вы можете сделать это в "одной строке" оболочки из каталога, содержащего ваши YYYY-диры:
for d in */*/*; do
echo -n "$d : "
find $d -name *.log | xargs grep -c STRING
done