很多時候Linux需要對文本相對比較規范的文本數據進行排序,這時候可以使用Linux系統下的sort命令進行處理。
語法格式:sort [-ntkr] filename
常用參數:
-n 根據數字進行排序
-t 指定的分隔符
-k 指定分隔符的第幾列
-r 降序排序
用法示例:
先創建一個sort.txt的文本文件,表示各科的成績,內容如下:
a 98 80 100 95
d 88 99 95 82
b 89 83 80 100
c 60 98 79 90
cat sort.txt | sort #默認會按照第一列進行排序
輸出結果:
a 98 80 100 95
b 89 83 80 100
c 60 98 79 90
d 88 99 95 82
cat sort.txt | sort -n -k 2 #按照第二列進行排序
輸出結果:
c 60 98 79 90
d 88 99 95 82
b 89 83 80 100
a 98 80 100 95
cat sort.txt | sort -n -t " " -k 3 -r
#按照第三列進行、指定分割符為空格、降序排序
d 88 99 95 82
c 60 98 79 90
b 89 83 80 100
a 98 80 100 95
注意:如果不加-n 參數,Linux默認會按照排序列第一個字符進行排序,比如21和3如果不加-n參數的話,系統會按照21第一個字符2和3比較,如果升序的化21會在3的前面,所有如果是數字的排序,必須要加上-n參數,從而保證排序的正確性。