对多列进行排序,第二列按数字顺序排序

对多列进行排序,第二列按数字顺序排序

文件:名称列表.txt

Emily 0
Emily 1
Emily 5
Joe 0
Joe 10
Joe 5
Joe 6

这是我运行的命令:

cat nameslist.txt | sort -k1 -k2

结果:

Emily 0
Emily 1
Emily 5
Joe 0
Joe 10
Joe 5
Joe 6

看起来它是按第一个数字排序的,但是如何让第二列按数字排序呢?我想要的结果是:

Emily 0
Emily 1
Emily 5
Joe 0
Joe 5
Joe 6
Joe 10

答案1

使用该-n选项按数字排序:

sort -k1,1 -k2n nameslist.txt

无需使用cat来读取输入文件。 sort无需其他流程即可做到这一点。

-k1,1符号将第一个排序键的开始和停止限制设置为第一个字段。

相关内容