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)
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)