ログファイルのレコード数

ログファイルのレコード数

output.log次の内容を含むファイルがあります。

Thread started
Thread finished
Thread started
Thread finished
Thread started
Thread started

以下を使用して出力を監視します。

tail -f output.log

現在実行中のスレッド数を記録するコマンドを作成したいと思います。上記の場合、出力は次のようになります。

2 threads are running

grepを使用して何らかの方法で文字列インスタンスを記録する必要がありますか?

ベストアンサー1

計算に使用できますawk。しかし、より複雑なものがない場合は、次のものを使用できます。

tail -f output.log | awk '/Thread started/{n++}/Thread finished/{n--} END { printf ("%d Threads are running\n", n)}' output.log

より良い方法は、watch次のように使用することです。

watch -n.2 -x awk '/Thread started/{n++}/Thread finished/{n--} END { printf ("%d Threads are running\n", n)}' output.log

画面上部に表示されるすべての項目が-n.2更新されます。0.2s

おすすめ記事