在Unix中比较两个文件并删除一个不存在的文件的内容

时间:2015-09-22 17:42:22

标签: unix awk

比方说,我有2个文件。

File1中

1,Unix,100
2,Java,200
3,c++,300

文件2

Unix
c++

所需的输出

1,Unix,100
3,c++,300

我正在尝试使用带有FNR变量的awk语句,但我无法获得输出。

提前致谢。 塔希尔

1 个答案:

答案 0 :(得分:3)

我会选择:

awk -F, 'NR==FNR { a[$0]; next; } $2 in a' file2 file1

这里的想法是使用指定的第一个文件(file2)中的排除项加载数组,然后逐步打开主数据,只打印字段2中包含数组元素的行。