删除文件A中包含文件B中的字符串的所有行

ped*_*ram 3 bash awk grep sed comm

我有2个文本文件,并希望文件A中的删除行包含文件B中的字符串

档案A:

joe     ball     1335
john    dyer     1365
dylan   fisher   1795
ian     gill     1913
eric    kelly    1101
Run Code Online (Sandbox Code Playgroud)

文件B:

1795
1913
Run Code Online (Sandbox Code Playgroud)

我希望Bash代码获得如下结果:

joe     ball     1335
john    dyer     1365
eric    kelly    1101
Run Code Online (Sandbox Code Playgroud)

我尝试这些代码,但答案没有成功

$ grep -vwF -f A B
$ awk -F'[ ,]' 'FNR==NR{a[$1];next} !($4 in a)'
Run Code Online (Sandbox Code Playgroud)

Hai*_*ang 5

awk  'NR==FNR{a[$1];next} !($3 in a)' fileB fileA
Run Code Online (Sandbox Code Playgroud)

它使用空格作为字段分隔符,并且$1是行的第一个列元素,$3是该行的第3列元素.使用数组a存储fileB元素a[$1].检查fileA的第3列元素是否在数组中a,如果不打印整行输出:

joe     ball     1335
john    dyer     1365
eric    kelly    1101
Run Code Online (Sandbox Code Playgroud)