unix - 比较两个文件的列

时间:2018-03-14 10:17:37

标签: awk

我有两个文件。第一个文件是IDS的主列表。第二个文件是普通输入文件。

我试图仅打印输入的记录,其中id(第3列)不在主列表中(第1列)。

示例:

masterlist.txt

111
222
333

input.txt中

col1,col2,col3,col4,col5,col6
abc,abc,111,xyz,xyz,xyz
abc,abc,222,xyz,xyz,xyz
abc,abc,333,xyz,xyz,xyz
abc,abc,444,xyz,xyz,xyz

期望的输出:

col3,col4,col5,col6
abc,abc,444,xyz,xyz,xyz

到目前为止,我已经提出了这个代码,但我没有得到正确的输出。

awk -F\| '!b{a[$0]; next}$3 in a {true; next} {print $3","$4","$11","$12}' masterlist.txt b=1 input.txt

1 个答案:

答案 0 :(得分:0)

您可以尝试关注awk并告诉我们这是否对您有所帮助。

awk 'FNR==NR{a[$1];next} !($3 in a)' masterlist.txt  FS="," input.txt