概要
複数のファイルをまとめて tail -f
しようとしたらスクリプト作成後に、まとめを見つけた。
仕方ないので、リンク先を日本語で紹介してお茶をにごします。
tailコマンドをそのまま使う
tail
コマンドは複数のファイルを受け取れるので以下のように書けます。
tail -f f1.log f2.log f3.log
そうすると出力は
==> f1.log <==
hoge
==> f2.log <==
hoge
piyo
==> f3.log <==
hoge
==> f1.log <==
huga
となり、少なければ見やすい反面、ログが多いと読みづらい
multi-tail.sh を作る
出力をまとめて読むのであれば、そういうスクリプトを作ってしまうのが楽。
multi-tail.sh
#!/bin/bash
trap 'kill $(jobs -p)' EXIT
for f in "$@"; do
tail -f "$f" &
done
wait
bash multi-tail.sh f1.log f2.log f3.log
multitail コマンドをインストール
aptとかHomebrewにmultitail
というのがある(homebrewしか確認してない)
multitail f1.log f2.log f3.log
出力はtop
コマンドみたいに、画面全体を書き換えながら表示されます。