1. 程式人生 > >Linux Shell -- sort(按照指定列排序)

Linux Shell -- sort(按照指定列排序)

file.txt 文字如下:

110,1|1,10 
110,1|2,101 
110,3|1,103 
110,4|1,16 
110,5|1,12 
112,1|1,10 
112,1|2,101 
112,2|1,103 
110,6|1,11 
104,2|1,34 
112,3|1,103 
112,4|1,16 
112,6|1,11 
113,1|1,30 
110,2|1,103 
112,5|1,12

Linux 命令:

sort -t , -k 1n,1 -k 3rn,3 file.txt

排序結果:

104,2|1,34 
110,2|1,103 
110,3|1,103 
110,1|2,101 
110,4|1,16 
110,5|1,12 
110,6|1,11 
110,1|1,10 
112,2|1,103 
112,3|1,103 
112,1|2,101 
112,4|1,16 
112,5|1,12 
112,6|1,11 
112,1|1,10 
113,1|1,30

結果說明: 1.-t 指定文字分隔符 2.-k 指定排序列 3.-n 按數字進行排序 4.-r 翻轉排序結果 上面的例子為按第一行正排序,按第三行反排序;