linux - sort -u 无法删除重复行

标签 linux shell

我是 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/

相关文章:

linux - 前缀 # 输出 0-100 以外的数字

linux - BASH 从 GDB 读取提示

linux - 为 X 数量替换未知数量的空格

linux - shell find -delete -- 如何避免删除自身

linux - 为什么 'until'存在?

linux - shell 中 if 表达式中的 -d 值是什么?

linux - 如果程序在 shell 脚本中输出特殊字符串,则执行命令

linux-bash 从 csv 中读取数据并有条件地求和值

c++ - va_args 和 64 位

linux - 无法识别的参数格式hosting.ini