2017-10-12 73 views
0

我需要基於兩列對錶進行排序,一列是數字,另一列是字符串。我需要按降序排列數字,而我想按字母順序排列字符串。使用'-r'選項進行排序確實可以用於數值計算,但它也適用於刺探。我想知道如何僅對一列應用反向選項,而不是對另一列應用反向選項。unix排序在多列

CMD:排序-r -k5 -K3 -K1

數據: 輸入

il ||  2 |  3 || 
we ||  2 |  2 || 
dt ||  0 |  2 || 
di ||  0 |  2 || 
cs || 16 |  1 || 
fd ||  5 |  1 || 
df || 14 |  0 || 
np ||  9 |  0 || 
dt ||  9 |  0 || 
ta ||  0 |  0 || 
rt ||  0 |  0 || 
ps ||  0 |  0 || 

預計

il ||  2 |  3 || 
we ||  2 |  2 || 
di ||  0 |  2 || 
dt ||  0 |  2 || 
cs || 16 |  1 || 
fd ||  5 |  1 || 
df || 14 |  0 || 
dt ||  9 |  0 || 
np ||  9 |  0 || 
ps ||  0 |  0 || 
rt ||  0 |  0 || 
ta ||  0 |  0 || 
+0

查看-k選項的標誌。任何全局訂購選項也可以爲單個密鑰指定。 –

回答

1

這對我的作品

$ sort -rk5 -k3 -k1b input 

輸出:

il ||  2 |  3 || 
we ||  2 |  2 || 
di ||  0 |  2 || 
dt ||  0 |  2 || 
cs || 16 |  1 || 
fd ||  5 |  1 || 
df || 14 |  0 || 
dt ||  9 |  0 || 
np ||  9 |  0 || 
ps ||  0 |  0 || 
rt ||  0 |  0 || 
ta ||  0 |  0 ||