【发布时间】:2011-07-26 22:10:13
【问题描述】:
在比较时间戳时,我无法弄清楚如何在两个不同的文件中找到匹配项。我要匹配的字段格式为:
7 月 26 日 09:33:02
我尝试逐行读取文件并使用
awk '{print $1,$2,$3}' 仅获取时间戳并将其存储在其中一个文件中。我一直在环顾四周,看到了这个例子:
awk 'FNR==NR{!a[$3]++;next }{ b[$3]++ }
END {
for(i in a) {
for(k in b) {
if (a[i]==1 && i ~ k ) { print i }
}
}
}' $FILE $FILE2
目前哪种方法可行,但我无法理解。这两个文件可以在您的 /var/log/syslog 和 /var/log/auth.log 中找到(使用 Ubuntu 11.04)
我四处寻找其他示例,但无法将其应用于我的应用程序。 谢谢你
【问题讨论】:
-
除非需要在 bash 中完成,否则您可以更改标题。也许像“整理文件之间的时间戳”之类的东西。因为您对 syslog 和 auth.log 感兴趣,所以这可能是 serverfault 的一个好问题。