尾-f,但首先吸收文件的内容(又名`cat -f`)


9

在跟踪新的更改之前,我需要显示整个文件,而不仅仅是最后10行(是的,我知道从概念上讲它不是尾巴)。换句话说,cat -f如果存在的话,类似的事情会做。尾巴的男人没有给我任何想法。我现在看到的唯一选择是以某种方式将cat(除了最后10行)tail -f输出结合在一起。

有什么提示吗?


3
cat $f && tail -n0 -f $f想到了,检查它的手册页看起来也tail -c0 -f $f可能会做您想要的事情(并且更好,因为它不会在两个进程之间创建竞争条件,而在此两个进程之间写入的数据可能会被忽略)。我现在无法访问Linux系统,但是其中两个都可以满足您的要求吗?
CVn

这很有用,我刚刚在编程语言中添加了这样的功能:“ tail stream”,它可以正常地从beginnnig到end读取文件,然后最后进入“ tail -f”模式,并且还可以注意到该文件被替换为较短的文件或被截断,然后遵循该文件。您需要执行此操作才能处理现有的日志(追回积压的日志),然后开始处理新条目。
卡兹(Kaz)

Answers:


14

这是一种实现方法:

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

+0和之间似乎没有任何区别+1,所以这是等效的:

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

2
手册页的相关部分(为人们省去一些打字输入)... -n,--lines = K输出最后K行,而不是最后10行;或使用-n + K输出以第K条开头的行
痴呆的刺猬
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.