tail -f -n20 <file>
ファイルの最後の20行をリアルタイムで表示できます。
何かをgrepしたい場合は
tail -f <file> | grep <pattern>
まだアクティブですが、tailの出力を介してのみgrepされます。つまり、最初から20行の出力がないという意味です。 (20行のうち5行だけが私のパターンと一致すると、出力から5行だけを取得します。)
何かをしたら
grep <pattern> <file> | tail -n20
20ラインの出力がありますが、ライブでもありません。
cat <file> | grep <pattern> | tail -n20
ファイルの最後のn行のリアルタイム更新を表示する方法後ろにブドウ?
答え1
tee
プロセス置換と組み合わせて使用できます>()
。
tail -f -n 20 file.log | tee >(grep 'pattern')
これにより、最後の20行が表示され、file.log
結果が表示されますgrep
。
答え2
では最初からしかtail -fn20
機能しません。20
tail
最初の20行を表示してから続けます。みんな新しい行は表示されるとすぐに追加されます(1行、20行、1000行)。
または言い換えれtail -fn20
ば。tail -n20
tail -fn+1
ここでは、次のことができます。
{ grep pattern | tail -n 20; tail -fn+1 | grep pattern; } < file
つまり、最初の手順を手動で実行してから、残りのtail -f
手順をすべて表示します。