从我之前停下的地方拖尾一个文件?
假设我有一个文件。我 tail
它的最后 10 行并获得了一些数据。下次我来到 tail
时,它的长度增加了 4。所以我只需要 tail
那么多行来获取数据。有一个简单的命令行吗? 喜欢 tail
、wc
和 grep
的混合吗?
Suppose I have a file. I tail
its last 10 lines and got some data. And the next time I come to tail
, its length increases by 4. So I need to tail
only that many lines to get data. Is there a simple command line for this?
Like a mix of tail
, wc
, and grep
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果关闭 tail 时保存文件的大小,可以执行
tail -c +[previous size]
。这从文件的特定字节偏移量开始,而不是从末尾开始几行。如果在关闭第一个尾部进程和测量大小之间尺寸发生变化,这可能会受到竞争条件的影响。为什么要关闭并重新打开 tail 命令,而不是仅使用
-f
选项并继续阅读?If you save the size of the file when you close tail, you can do
tail -c +[previous size]
. This starts at a specific byte offset of the file instead of a number of lines from the end. This may be subject to a race condition if the size changes between when you close the first tail process and when you measure the size.Why are you closing and reopening the tail command, instead of just using the
-f
option and continuing reading?