【发布时间】:2012-08-03 18:53:41
【问题描述】:
我有一个按日期存储系统状态的记录文件。生成它的脚本通过 cron 运行,因此文件不断变长。我编写了一个脚本,它遍历每一行来处理它,这需要很长时间才能完成。我听说 awk 在处理大型文本文件时要快得多。我的问题是我从来没有使用过它。是否可以使用 awk 获取日期范围内的所有条目?日期都以秒为单位,因为它们是用date +%s 生成的。这是一个输出示例,我希望能够快速找到某个范围内的数据。例如,我怎样才能得到第一列在 1344279903 和 1344280204 之间的所有行?
1344279903 | 0 | 0 | node | 1
1344279904 | 0 | 0 | node | 2
1344279905 | 0 | 0 | node | 3
1344280202 | 0 | 0 | node | 1
1344280203 | 0 | 0 | node | 2
1344280204 | 99 | 0 | node | 3
【问题讨论】:
-
您正在分析的文件有多大? # 行数和 # 字节数对于确定这样的解决方案是否合适很有用。