tail:ファイル全体を読み取り、その後に続く


35

tail -fファイル全体を読み取り、書き込まれたとおりにファイルを追跡し続けるような動作が必要です。


溶液

私が受け入れた答えに基づいて、これは動作します: tail -f -n +1 {filename}

なぜそれが動作します:-fオプションは、それらがファイルに書き込まれるファイルと出力新しい行を「追跡」し続けています。-n +1指示tail最初の行からのファイルの読み込みを開始します。使用-n -10は、ファイルの最後の10行から始まります。


2
これは質問ではなくコメントです。そして、tailはまだそれをしていません:tail -f -n 10000000000000000000たぶんすべての行を表示しますか?(たぶん10000000000000000000は少し多
すぎる

私はそれmore fileNameをやると信じています
ryekayo

1
no..moreは、moreが開始された後にファイルに追加された行を追加しません。
リンツウィンド14

おそらくtail -f -n 100...、ファイルサイズに基づいて行数の上限を計算できるほど賢くない限り、ファイルを事前に読み取って行数を決定する必要があります。
mwfearnley

回答:


51

つかいます

tail -f -n +1

を使用man tailすると詳細がわかりますが、関連する抜粋を次に示します。

<snip>Numbers having a leading plus (`+') sign are relative to the
beginning of the input, for example, ``-n +2'' starts the display at the
second line of the input.</snip>

-f      The -f option causes tail to not stop when end of file is
        reached, but rather to wait for additional data to be appended to
        the input.  The -f option is ignored if the standard input is a
        pipe, but not if it is a FIFO.

-n number
        The location is number lines.

3
これらの「詳細」を回答に追加してください。ソリューションの理由仕組みを説明してください。(低品質の投稿キューであなたの答えを見つけた。)
kraxor 14

1
@kraxor man tail答えが示すように、実行(および読み取り)することで「詳細」を見つけることができます。または、「テールマンページ」をオンライン検索して、そのうちの1つを読むことができます。tailファイル内の位置から開始し、最後まで読み取り(および表示)してから、ファイルサイズの増加を監視することで機能します。ファイルサイズが大きくなるtailと、以前のEOF位置から新しいファイルの終わりまで読み取り、表示します。
ワルチネーター14

2
@waltinator私は本当に自分自身を求めませんでした。彼の投稿には低品質のフラグが付けられていたので、詳細を追加するように頼みましたが、彼は正しい答えを与えたので削除するために投票したくありませんでした。
クラクソール14

1
これはまさに私が探していたものです。私はtail -50 {filename}以前に使用しましたが、2つを組み合わせて成功していませんでした。
ソニー14


3

これを試して:

watch tail {filename}

{filename}注目したいファイルはどこですか。これにより、コマンドの変更が継続的に監視され、変更がstdoutに出力されます。とても便利です。


これは非常に素晴らしいツールのように見えます。私が探していた結果は得られませんでしたが、念頭に置いておく必要があります。受け入れ答えとそれを組み合わせることで、かなりいいです:watch tail -n +1 {filename}
ソニー

はい、あなたはそれを完成させたように見えます!
リックチャタム

watchは本当に便利なツールですが、コマンドの出力を変更するのを見るために、付加されているファイルの終わりを見るために使うのは非常に良いtail -fです。--- watch tail {filename}2秒ごとにファイルの終わりを開き、再読み込みします。一方tail -f、ファイルの増加を監視し、検出されるとすぐに追加された部分のみを読み取ります。tailf -fはるかに効率的であり、反応ははるかに高速です。また、開始した時点からファイルの内容が継続的に表示されます。--- watch出力を2秒ごとに上書きします。
pabouk
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.