![如何从 400MB 以上的日志文件中获取给定时间段的条目?](https://linux22.com/image/22638/%E5%A6%82%E4%BD%95%E4%BB%8E%20400MB%20%E4%BB%A5%E4%B8%8A%E7%9A%84%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E4%B8%AD%E8%8E%B7%E5%8F%96%E7%BB%99%E5%AE%9A%E6%97%B6%E9%97%B4%E6%AE%B5%E7%9A%84%E6%9D%A1%E7%9B%AE%EF%BC%9F.png)
我有一个 400MB 以上的 Tomcat 日志文件 ( catalina.out
)。如何提取给定时间段内的条目?
答案1
不确定这是否适用于您的 400MB 文件,但这里有一些 CLI 单行代码可以解决这个问题。
如果您正在寻找特定日期的条目,grep -c
也许可以满足您的需要。
否则,您可能可以使用sed
:
sed -n '/date1/,/date2/p' filename
例如,使用输入文件“test”:
Day 0: foo
Day 1: hello
Day 2: world
Day 3: blah
你可以跑
[me@mybox tmp]$ sed -n '/Day 1/,/Day 2/p' test
Day 1: hello
Day 2: world
答案2
考虑使用诸如斯普伦克,对数逻辑,对数节奏,Graylog2.org(开源)