假设我有一个具有以下格式内容的文件:
6 8
6 9
12 20
6
8
9
12
20
35
如果在下一行中找到数字(来自第一列或第二列),无论它是在第一列还是第二列(包括找到初始数字的行),我想删除所有行。
所以我应该得到这样的结果:
35
我尝试过使用
awk '{for(i=1;i<=NF;i++){if($i in a){next};a[$i]}} 1'
有没有简单的方法可以做到这一点?
最佳答案
这一行应该有帮助:
awk 'NR==FNR{a[$0]++;next}{for(i=1;i<=NF;i++)if(a[$i]>1)next}7'
RS=" |\n" file RS="\n" file
使用此输入文件:
100 200 300
6 8
6 9
12 20
6
8
9
12
20
35
上面一行将输出:
100 200 300
35
关于awk - 删除文件中出现的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50909152/