我是 Linux shell 命令的新手,我正在学习 sort
命令。
输入文件如下:
a 1
b 2
a 0
我想将第一列作为排序的键,并使用“-u”选项删除“a 0”行,因为它与第一行具有相同的键,并且命令手册说“-u”将只保留同等运行中的第一个。
当我使用命令sort -k 1 -u text
时,结果是:
a 0
a 1
b 0
但是,当我使用命令 sort -k 1, 1 -u text
时,输出为:
a 1
b 2
谁能告诉我这两个命令有什么区别?
最佳答案
-k 1
将从字段 1 到行尾排序。
-k 1,1
将仅按第一个字段排序。您定义了停止位置。
这就是你得到不同输出的原因。
阅读 sort 手册页中的 KEYDEF
。
关于linux - sort -u 无法删除重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37032453/