我想从 linux 日志中提取信息,这些信息被压缩在从 file.gz 到 file.50.gz 的文件中。然后 zgrep 检查的第一个日志文件是 log.1.gz,然后是 log.10.gz,然后是 log.11.gz,等等。但这与事件的时间顺序混淆了。有没有办法:a)使 zgrep 按自然升序检查?或 b) 根据日期对匹配项进行排序(日志中的每一行都遵循此日期模式 yyyy/mm/dd-hh:mm:ss.mss fi: 2021/10/12-08:27:33.166324)
-> 由于这些日志被提取以脱机工作,然后在 Windows 机器 (wsl) 中处理,因此这些文件的最后修改日期/时间对于所有这些文件都是相同的
我正在尝试这样的事情,但没有运气(无论如何我相信它只会考虑 10 位数的日期,将时间戳放在一边):
zgrep -ih error log.* | sort -n -t"-" -k1.7,1.10 -k1.1,1.2 -k1.4,1.5