我的文件有这样的模式:
1 1 1 2 0 1 0.5
1 2 2 2 0 2 0.5
2 1 1 1 0 1 0.25
2 1 2 2 0 2 0.5
2 3 3 3 0 3 0.25
如果文件中的另一行具有相同的最后两个条目,我想删除一行。在上面的示例中,这意味着应删除第4行:
1 1 1 2 0 1 0.5
1 2 2 2 0 2 0.5
2 1 1 1 0 1 0.25
2 3 3 3 0 3 0.25
我无法通过命令行或简单的awk / sed脚本来了解如何做到这一点。非常感谢任何帮助!
答案 0 :(得分:3)
awk '!a[$NF,$(NF-1)]++' file
制作一个数组并检查它是否还没有填充最后两个字段。
答案 1 :(得分:1)
尝试:
sort -k 6 f1.txt | uniq -f 5
假设线条的原始顺序无关紧要。