ファイルの最後の瞬間に新しい行数を数えます。

ファイルの最後の瞬間に新しい行数を数えます。

Bashを使用して、過去1分間にファイルに追加された新しい行をどのように計算できますか?

複数のファイルの最後の1分新しい行を同時に計算して出力を取得する最も賢い方法は何ですか?

いくつか試してみましたが、良い解決策が見つかりませんでした。

Bashの代わりにプログラミング言語を試すこともできます。

ベストアンサー1

2回使用しwc -lて結果を減算します。

before=$(wc -l < yourfile)
sleep 60
after=$(wc -l < yourfile)
let dif=after-before
echo "$dif"

最後の$dif数行だけを印刷することもできます。

tail -n$dif yourfile

より多くの行を同時に追加できますが、ここでは原子的な操作はありません。

wc -l増分変更(少なくとも追加された行数)を追跡するには、1分ごとに出力を記録します。ただし、この機能が必要かどうかを事前に知らない限り、これはできません。各行にタイムスタンプがない場合、ファイルのどの部分がいつ追加されたかはわかりません。

おすすめ記事