区分日志文件而不考虑时间戳的简单方法?

时间:2020-03-05 18:47:41  来源:igfitidea点击:

我需要比较两个日志文件,但忽略每行的时间戳部分(准确地说是前12个字符)。有没有一个好的工具或者一个聪明的awk命令可以帮助我?

解决方案

回答

@EbGreen说

I would just take the log files and strip the timestamps off the start of each line then save the file out to different files. Then diff those files.

除非差异化工具具有特殊功能,否则这可能是最好的选择。
例如,我们可以

cut -b13- file1 > trimmed_file1
cut -b13- file2 > trimmed_file2
diff trimmed_file1 trimmed_file2

有关优化的信息,请参见@toolkit的响应,此优化使其成为一种单行代码,并且不需要额外的文件。如果外壳支持它。 Bash 3.2.39至少似乎...

回答

根据我们使用的外壳,可以将@Blair建议的方法转换为1-liner

diff <(cut -b13- file1) <(cut -b13- file2)

(最初的建议是@Blair的+1 :-)