Shell 如果在不同的行中出现多个图案,请从文件中删除行
我有一个这样的文件: 1 1 2 0 1 0.5Shell 如果在不同的行中出现多个图案,请从文件中删除行,shell,awk,sed,file-processing,Shell,Awk,Sed,File Processing,我有一个这样的文件: 1 1 2 0 1 0.5 1 2 0 2 0.5 2110.25 2 1 2 0 2 0.5 2 3 0 3 0.25 如果文件中的另一行具有相同的最后两个条目,我希望删除该行。在上述示例中,这意味着应删除第4行: 1 1 2 0 1 0.5 1 2 0 2 0.5 2110.25 2 3 0 3 0.25 我不知道如何通过命令行或简单的awk/sed脚本来实现这一点。非常感谢您的帮助 试试看: sort -k 6 f1.txt | uniq -f 5 假设行的原始
1 2 0 2 0.5
2110.25
2 1 2 0 2 0.5
2 3 0 3 0.25 如果文件中的另一行具有相同的最后两个条目,我希望删除该行。在上述示例中,这意味着应删除第4行: 1 1 2 0 1 0.5
1 2 0 2 0.5
2110.25
2 3 0 3 0.25 我不知道如何通过命令行或简单的awk/sed脚本来实现这一点。非常感谢您的帮助 试试看:
sort -k 6 f1.txt | uniq -f 5
假设行的原始顺序无关紧要。试试:
sort -k 6 f1.txt | uniq -f 5
awk '!a[$NF,$(NF-1)]++' file
假设行的原始顺序无关紧要
awk '!a[$NF,$(NF-1)]++' file
制作一个数组,并检查它是否尚未填充最后两个字段
制作一个数组,并检查它是否已经填充了最后两个字段。感谢您的快速回复!不过我只有一个文件。我想删除该文件中的行。对不起,误解了。如果行的顺序不重要,请尝试新的解决方案。感谢您的快速回复!不过我只有一个文件。我想删除该文件中的行。对不起,误解了。如果行的顺序不重要,请尝试新的解决方案。