我尝试了 Stack Overflow 中的许多解决方案,但没有获得满意的结果。
我有 2 个文件,想从 file1
中删除 file2
中提到的条目。
文件1
1,email1@domain.com,9
9,email9@domain.com,1
8,email8@domain.com,6
2,email2@domain.com,1
15,email15@domain.com,3
6,email6@domain.com,1
文件2
email1414@domain.com
email9@domain.com
email15@domain.com
email1919@domain.com
结果
1,email1@domain.com,9
8,email8@domain.com,6
2,email2@domain.com,1
6,email6@domain.com,1
你能帮帮我吗? 我失败的尝试:
awk -F',' 'NR==FNR{c[$1]++;next};c[$2] > 0' file2 file1
最佳答案
因为如果没有误报的机会,这可能是最简单的
$ grep -vf file2 file1
1,email1@domain.com,9
8,email8@domain.com,6
2,email2@domain.com,1
6,email6@domain.com,1
更好的想法是改为固定字符串(而不是模式匹配)
$ grep -vfF file2 file1
关于linux - 2个文件之间的差异(awk),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45272011/