如何在Linux中使用Bash脚本对这些值进行排序?

如何在Linux中使用Bash脚本对这些值进行排序?,linux,bash,sorting,duplicate-removal,Linux,Bash,Sorting,Duplicate Removal,在上面,您将看到at-61出现了两次,其他一些值也出现了两次。我只想创建一个没有任何副本的新文件。所以新文件应该有-61 35或-61 36 我该怎么做?!我尝试使用uniq使用sort,但没有成功。如果可以保证第一个字段的长度 -53 45 -54 43 -55 42 -56 41 -57 40 -59 37 -61 35 -61 36 -62 34 -64 33 -65 31 -65 32 -67 30 -68 29 -69 28 -72 25 -73 23 -73 24 -74 22 -7

在上面,您将看到at-61出现了两次,其他一些值也出现了两次。我只想创建一个没有任何副本的新文件。所以新文件应该有-61 35或-61 36


我该怎么做?!我尝试使用uniq使用sort,但没有成功。

如果可以保证第一个字段的长度

-53 45
-54 43
-55 42
-56 41
-57 40
-59 37
-61 35
-61 36
-62 34
-64 33
-65 31
-65 32
-67 30
-68 29
-69 28
-72 25
-73 23
-73 24
-74 22
-76 20
-76 22
-78 20
-79 18
-80 17
-81 16
我会成功的

否则,请尝试awk:

sort | uniq --check-chars=4 

假设您的数据位于名为input的文件中

awk '{ if (FNR == 1 || last != $1) print; last = $1; }'

当使用unique(-u)进行数字(-n)排序时,可以实现重复检查。

非常感谢您的帮助!。。我是bash的新手,这真的很有帮助。。。。你们这些家伙摇滚!:)无需
cat
排序-nu输入
。否则,这绝对是我首选的解决方案。我同意在这里不需要使用cat。在本例中,我使用它作为将数据放入sort命令的示例。实际上,我主张简单地将生成此列表的任何进程的输出管道化到sort命令中。我将在将来更清楚地说明这一点。
cat input | sort -u -n