Command

tail -f -n 1 返回文件的所有內容

  • July 8, 2020

text.txt在 Ubuntu 中有一個文件。

我想觀看文件以tail獲取文件的最後內容。

tail -f text.txt

此命令返回所有內容。

所以我將其更改為:

tail -f -n 1 text.txt

但同樣的結果。

我檢查文件行:

wc -l text.txt

當內容附加到文件時,行號計數會發生變化。

那麼首先有什麼問題?

tail -f列印文件的最後 10 行。一旦到達文件末尾,它就會等待並列印稍後附加的所有內容。這就是跟隨文件增長的原則。

如果您想始終“列印文件的最後 10 行”,則定義不明確,因為它取決於檢查的時間。如果有一個程序一次列印一行,並且每次tail立即列印,則隨時tail 列印文件的最後 10 行。

如果您想定期顯示文件的最後幾行,但在快速增長時跳過行,您需要一種不同於以下方法的方法_。例如,tail循環呼叫。不要使用-f,因為您實際上並不想關注該文件。

while sleep 1; do tail text.txt; done

如果您想在螢幕上保持最後幾行可見但隱藏舊行,該watch實用程序很方便。

watch tail text.txt

引用自:https://unix.stackexchange.com/questions/597345