Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 如果在不同的行中出现多个图案,请从文件中删除行_Shell_Awk_Sed_File Processing - Fatal编程技术网

Shell 如果在不同的行中出现多个图案,请从文件中删除行

Shell 如果在不同的行中出现多个图案,请从文件中删除行,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 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
假设行的原始顺序无关紧要。

试试:

 sort -k 6 f1.txt  | uniq -f 5
awk '!a[$NF,$(NF-1)]++' file
假设行的原始顺序无关紧要

awk '!a[$NF,$(NF-1)]++' file
制作一个数组,并检查它是否尚未填充最后两个字段


制作一个数组,并检查它是否已经填充了最后两个字段。

感谢您的快速回复!不过我只有一个文件。我想删除该文件中的行。对不起,误解了。如果行的顺序不重要,请尝试新的解决方案。感谢您的快速回复!不过我只有一个文件。我想删除该文件中的行。对不起,误解了。如果行的顺序不重要,请尝试新的解决方案。