繁体   English   中英

Bash排序逗号以数字方式分隔列,然后按字母顺序分隔

[英]Bash sorting comma delimited columns numerically and then alphabetically

我试图通过第三列以反向(降序)数字排序3列,然后按字母顺序排序第一列(打破关系)。 条目以逗号( , )分隔。

例如,我的数据集是:

y,5,50
x,10,50
z,4,100

预期产量:

z,4,100
x,10,50
y,5,50

但是我得到的输出是:

z,4,100
y,5,50
x,10,50

我在用:

sort -t, -k3,3 -n -r -k1,1 filename

不知道为什么这不起作用。

我建议更换-k3,3 -n -r通过-k3,3nr

sort -t, -k3,3nr -k1,1 file

输出:

z,4,100
x,10,50
y,5,50

你所建议不起作用的原因是监守你应用的标志-n-r全球因此字母排序也-r eversed。 要在每个密钥的基础上应用标志,请使用:

sort -t, -k3,3nr -k1,1 filename

这给出了预期的输出:

z,4,100  
x,10,50  
y,5,50

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM