【发布时间】:2011-07-28 20:48:50
【问题描述】:
我有一个日志文件看起来像:
2011-03-21 00:01 xxxx
2011-03-22 04:05 xxxx
....
2011-03-25 10:12 xxxx
....
2011-04-04 12:23 xxxx
我想要一个需要 2 个参数作为日期范围的脚本,例如:
grep-date-range.sh 2011-03-25 2011-04-02
它将在 [2011-03-25, 2011-04-02] 中找到所有日志。我知道对于特定情况我可以使用通配符,但在我看来它并不通用。谁能给我一个解决方案?
编辑: Python 脚本也是可以接受的。
【问题讨论】:
-
您可以将一些超级复杂的 bash/cut/sed/awk 脚本链接在一起来做您想做的事情。但是,如果您知道 python 或 perl,那么编写一个小脚本来解析每行中的前三个数字并将其与参数中给出的范围进行比较可能会更容易。
-
我真的很惊讶这作为一个 shell 脚本是多么困难。最大的障碍似乎是没有办法让日期接受自 1970 年以来的秒数输入。 WTF。