我有一个如下所示的文件:
输入:
34
34
34
43
54
54
10001
10001
10001
10001
100005
100005
500000
所以我需要每个数字只出现一次:
出去:
34
43
54
10001
100005
500000
考虑到实际文件很大并且重复次数太多,有什么建议吗?
答案1
给你:
$ uniq inputFile > outputFile
但注意uniq
只会删除那些连续出现的重复行。因此,如果您想删除所有重复的行,甚至那些不连续出现的行,您可以首先sort
输入文件并使用uniq
:
$ sort -g inputFile | uniq > outputFile
-g
选项将按照通用数值进行比较。
或者只是使用sort -nu inputFile > outputFile
答案2
如果您希望删除不在连续行中的重复项,则需要进行排序,例如:
cat FILE1 | sort -nu > FILE2
sort -n
表示数字排序并-u
删除连续的重复行(就像独立命令uniq
对排序的文件/数据所做的那样)。