【发布时间】:2017-03-02 05:51:05
【问题描述】:
我有一个大的制表符分隔的文本文件,我想删除所有具有相同值的行并提取具有至少一个不同值的行;
文件.txt
Gen1 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
Gen2 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
Gen3 1.0 1.0 1.0 5.0 0.55 1.0 1.0 1.0 1.0
Gen4 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
Gen5 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
Gen6 0.4353 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
输出.txt
Gen3 1.0 1.0 1.0 5.0 0.55 1.0 1.0 1.0 1.0
Gen6 0.4353 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
很遗憾,我无法使用以下命令获得预期的输出;
perl -ne 'print if ! $a{$_}++'
或者
sort -u 或 uniq,它们不起作用,因为第一列的名称不同。
【问题讨论】:
-
您能否澄清 Gen1、2、4、5 行不是输出的一部分,因为这些行中的所有值都具有相同的值?您的预期输出与您接受的答案不匹配...
-
有趣的是,关于“删除具有相同值的行”的问题是如何作为重复而关闭的。 :D
-
当它不是重复的(至少不是标记为一个的那个)时也是如此......有人可以重新打开这个问题吗?
标签: bash sorting duplicates text-processing