tac
命令( reversed )可cat
用于向后读取文件,就像cat
从开头读取文件一样。我想知道,这有多有效。它是否必须从头开始读取整个文件,然后在到达末尾时反转一些内部缓冲区?
我打算将它用于一些经常调用的监视脚本,该脚本需要检查数百兆字节大小的文件的最后 n 行。但是,我不希望通过一遍又一遍地读取文件(大约每分钟一次左右)来导致沉重的 I/O 负载或用其他无用的信息填充缓存空间。
任何人都可以阐明该命令的效率吗?
tac
命令( reversed )可cat
用于向后读取文件,就像cat
从开头读取文件一样。我想知道,这有多有效。它是否必须从头开始读取整个文件,然后在到达末尾时反转一些内部缓冲区?
我打算将它用于一些经常调用的监视脚本,该脚本需要检查数百兆字节大小的文件的最后 n 行。但是,我不希望通过一遍又一遍地读取文件(大约每分钟一次左右)来导致沉重的 I/O 负载或用其他无用的信息填充缓存空间。
任何人都可以阐明该命令的效率吗?
如果使用得当,
tac
效率与tail
- 一次读取 8K 块,从后面搜索相当有效。除其他外,“正确使用”需要在您的文件上为其提供直接、可搜索的句柄:
...或者...
不是
logstash
也就是说,与使用可以输入索引存储和/或生成事件以供 CEP 引擎进行实时分析的类似工具相比,我认为重复运行这种性质的工具是一种非常低效的日志扫描方式例如Esper或Apache Flink。