【发布时间】:2014-06-20 00:28:51
【问题描述】:
我正在使用 awk 根据字段 1 查找两个不同文件中字段 2 之间的差异。
我的文件如下:
文件1:
2014-04-28|2667066
2014-04-29|5484549
2014-04-23|5484572
2014-04-24|2822096
文件2:
2014-04-27|2667066
2014-04-28|7746836
2014-04-29|5484549
2014-04-30|2822060
对于每个日期(字段 1),如果计数(字段 2)不匹配,我想将差异打印到单独的文件中。
我目前有以下脚本来查找差异,但是它没有显示文件 1 中但文件 2 中的记录:
awk -F\| 'NR==FNR{a[$1]=$2;next}a[$1]!=$NF{printf "%s, %s Cnt:%d %s Cnt:%d\n",$1,ARGV[1],a[$1],ARGV[2],$NF}' file1 file2
2014-04-27, file1 Cnt:0 file2 Cnt:2667066
2014-04-28, file1 Cnt:2667066 file2 Cnt:7746836
2014-04-30, file1 Cnt:0 file2 Cnt:2822060
要求的结果:
2014-04-23, file1 Cnt:5484572 file2 Cnt:0
2014-04-24, file1 Cnt:2822096 file2 Cnt:0
2014-04-27, file1 Cnt:0 file2 Cnt:2667066
2014-04-28, file1 Cnt:2667066 file2 Cnt:7746836
2014-04-30, file1 Cnt:0 file2 Cnt:2822060
非常感谢任何帮助。
【问题讨论】: