Shell 比较两个文件,如果找到匹配项,则删除一行
我想比较两个文件 如果Shell 比较两个文件,如果找到匹配项,则删除一行,shell,unix,awk,Shell,Unix,Awk,我想比较两个文件 如果file2中的值与file1的前两列匹配,则需要从file1中删除整行,并将结果打印到output,如下所示 下面包含文件1的值: 1,APPLE,melle,电子人 2,bplle,更少,vgm 3、minipl、vicy、bgm 4、标签、暴徒、calic 6,Centurion,sa,hh 下面包含file2的值 2,bplle 4、标签 5,百夫长 和输出必须包含以下内容: 1,APPLE,melle,电子人 3、minipl、vicy、bgm 6,Centur
file2
中的值与file1
的前两列匹配,则需要从file1
中删除整行,并将结果打印到output
,如下所示
下面包含文件1的值:
1,APPLE,melle,电子人
2,bplle,更少,vgm
3、minipl、vicy、bgm
4、标签、暴徒、calic
6,Centurion,sa,hh
下面包含file2的值
2,bplle
4、标签
5,百夫长
和输出
必须包含以下内容:
1,APPLE,melle,电子人
3、minipl、vicy、bgm
6,Centurion,sa,hh
是否有可能实现此awk
?此awk应能工作:
awk-F,'FNR==NR{a[$1,$2];next}!(a中的($1,$2)文件2文件1
1,阿普尔,梅尔,电子人
3、minipl、vicy、bgm
6,Centurion,sa,hh
这也会起作用:grep-Fwvf file2 file1
-F将模式解释为固定字符串的列表 -w
仅选择包含构成整词的匹配项的行 -v
反转匹配的意义,以选择不匹配的线 -f文件
从文件中获取模式,每行一个 基于,是的,我认为这是可能的。