【发布时间】:2013-12-14 13:25:35
【问题描述】:
我似乎遇到了几个此类问题,并且确实尝试过自己解决这个问题,但没有成功。
我有两个数据文件;我想比较他们的第一个字段并在输出文件中第一个文件的匹配条目旁边打印第二个文件中的行。维护文件 1 中的列表顺序很重要,包括不匹配的行。这些文件是制表符分隔的值,但如果需要,我可以更改它们(尽管数据中使用了逗号)。
file1.txt
37600
39219
32887
01262
69241
00361
34180
42385
69245
file2.txt
37600 GEAR PUMP 1
32887 MOTOR, 480V 1
34180 BRACKET 2
00361 WASHER 4
42385 SCREW 8
所需的输出文件
37600 GEAR PUMP 1
39219
32887 MOTOR, 480V 1
01262
69241
00361 WASHER 4
34180 BRACKET 2
42385 SCREW 8
69245
这是我迄今为止的最大努力,但结果是一个空文件。
awk NR==NFR{a[$1];next}$1 in a {print $0} file1.txt file2.txt > outfile.txt
任何帮助将不胜感激。
【问题讨论】:
-
输出中的
42385行,为什么第二列是空的? -
@Kent。错字已修复。如有任何混淆,我们深表歉意。
-
这个号码
69245去哪儿了?它应该在您的输出示例中吗? -
@Jotne。是的,它应该在输出中。固定的。谢谢。
标签: awk