[英]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.