Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 比较两个文件,如果找到匹配项,则删除一行_Shell_Unix_Awk - Fatal编程技术网

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文件
从文件中获取模式,每行一个

基于,是的,我认为这是可能的。