如何删除文件中某列中的重复数字?

如何删除文件中某列中的重复数字?

我有一个如下所示的文件:

输入:

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对排序的文件/数据所做的那样)。

相关内容