tail -fが最初にファイルの内容を吸い込む(別名 `cat -f`)


9

最後の10行だけでなく、新しい変更を追跡する前にファイル全体を表示する必要があります(そうです、概念的には末尾ではないことがわかっています)。言い換えれcat -fば、もしそれが存在するとしたら、テールの男は私にどんな考えも与えません。今私が目にする唯一のオプションは、なんとかして最後の10行除くすべてのcattail -f出力を組み合わせることです。

ヒントはありますか?


3
cat $f && tail -n0 -f $f考えられるようになり、そのように見えるmanページをチェックするtail -c0 -f $fと、期待どおりの結果が得られる可能性があります(書き込まれたデータを無視できる2つのプロセス間に競合状態が発生しないため、より良い方法です)。現時点ではLinuxシステムにアクセスできませんが、どちらでも必要なことを実行できますか?
CVn 2013年

これは便利で、そのような機能をプログラミング言語に追加しただけです。通常、ファイルをbeginnnigからendまで読み取り、最後に「tail -f」モードに入る "tail stream"と、それに気づくことができます。ファイルはより短いファイルに置き換えられるか、切り捨てられ、その後に従います。これは、既存のログの処理(バックログに追いつく)などの処理を行い、新しいエントリの処理を開始するために必要です。
Kaz

回答:


14

これを行う1つの方法を次に示します。

tail -f -n+0 /var/log/messages

a +0とaの間に違いはないように見える+1ので、これは同等です。

tail -f -n+1 /var/log/messages

2
マニュアルページの関連部分(一部の入力を省略します)... -n、--lines = Kは、最後の10行ではなく、最後のK行を出力します。または-n + Kを使用して、Kth
認知症のハリネズミ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.