web-dev-qa-db-ja.com

n行を出力した後の末尾-f

以下があります。

  1. ファイルにログを書き込むJavaプロセス
  2. Javaプロセスを開始するシェルスクリプト。

Javaプロセスの開始後にログファイルを読み取って、正しい開始を確認する必要があります。

tail -fで試しましたが、永久に追加されたままです。 n行印刷後にtail停止する必要があります。前の行に-nオプションのような方法がありますか?

10
theShadow89

tail -fの出力をheadにパイプして、表示される行の量を制限できます。

tail -f [PATH] | head -n 100

合計で100行のみを表示します。

24
David Foerster

改行のみ

プレーンtail -fを使用すると、最初の10行は既に存在するファイルからのものです。

tail -f file.log | head -30

実行時にlog.txtの10行と、後で追加される20(n-10)行を書き込みます。

ログファイルでは、通常-f--follow)を使用して、将来書き込まれる行を確認します。

tailが開始された後に書き込まれた30行のみを表示するには、初期出力を0に制限します。

tail -f -n0 file.log | head -30
7
Volker Siegel