簡體   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