确保文本文件中的所有行不具有相同的值

确保文本文件中的所有行不具有相同的值

我有一个包含多行的文本文件。有些行包含相同的值。我想要的是确保所有行都没有重复或“三重”。

样本:

2014-11-21
2013-10-19
2013-06-09
2014-11-21
2014-11-21
2015-02-19
2012-08-12
2015-07-22
2013-06-09

输出:

 2014-11-21
 2013-10-19
 2013-06-09
 2015-02-19
 2012-08-12
 2015-07-22

我尝试过uniq,但它完全删除了所有重复的行。我想要的是保留一个。

答案1

使用sort(它也会对输出进行排序):

sort -u file

使用awk(它不排序,只是过滤掉重复项,如所需的输出):

awk '!a[$0]++' file

perl(原理相同awk):

perl -ne 'print unless $a{$_}++' file

相关内容