Sort是一個命令,是用來對文件或者輸入的內容進行排序
sort - sort lines of text files
語法結構
sort [option] [file]
- order-sort的參數列表
- -b –ignore-leading-blanks 忽略每行前面開始出的空格字符
- -d –dictionary 只考慮空和數字字母的排序
- -f –ignore-case 忽視大小寫排序
- -g –general-numeric-sort 根據一般數值進行比較排序
- -i –ignore-nonprinting 只考慮打印的字符
- -M –month 月份排序 < ‘JAN’ < … < ‘DEC’
- -n –numeric 根據數值大小排序
- -r –reverse 倒序
- other-options參數列表
- -c 檢查是否排序
- -k 排序哪一列
- -m 合併已經排序的文件
- -o 輸出到哪個文件
- -t <分隔字符> 指定排序時所用的欄位分隔字符。
- -u 排序,並將重複數據只顯示第一個
下面是對sort的一些實例試用
1 -n和-r的使用
☁ 20151008 wc -l *
1 a
1 b
20 fib.py
4 low_up
12 test
☁ 20151008 wc -l * |sort -n
1 a
1 b
4 low_up
12 test
20 fib.py
☁ 20151008 wc -l * |sort -nr
20 47 439 fib.py
12 12 38 test
4 4 8 low_up
1 1 9 b
1 1 8 a
2 -k 排序哪一列
☁ 20151008 wc -l * |sort -k2
729288 10-09-2015_04_56_22_AM_TRM_WW_BF4_ZodiacMission_Libra_OCT15_20151009.txt
1 a
1 b
20 fib.py
4 low_up
12 test
☁ 20151008 wc -l * |sort -k1
1 a
1 b
4 low_up
12 test
20 fib.py
729288 10-09-2015_04_56_22_AM_TRM_WW_BF4_ZodiacMission_Libra_OCT15_20151009.txt
3 -f 忽視大小寫排序
☁ 20151008 cat low_up
a
v
W
G
☁ 20151008 sort low_up
G
W
a
v
☁ 20151008 sort -f low_up
a
G
v
W
4 -n –numeric 根據數值大小排序
☁ 20151008 sort test
"12"
"412"
"8"
"asd"
1
2
3
4
5
6
as
f
☁ 20151008 sort -n test
"12"
"412"
"8"
"asd"
as
f
1
2
3
4
5
6
5 -t <分隔字符> 指定排序時所用的欄位分隔字符。
☁ 20151008 wc -l * | sort
4 low_up
12 test
20 fib.py
180917 10-12-2015_02_28_11_PM_TRM_WW_BFHL_CM_TEC9_OCT15_20151012.txt
729288 10-09-2015_04_56_22_AM_TRM_WW_BF4_ZodiacMission_Libra_OCT15_20151009.txt
1264154 10-12-2015_01_09_02_PM_TRM_WW_Minions_Paradise_Launch_OCT15_20151012.txt
2289875 10-13-2015_12_37_43_PM_TRM_WW_Minions_Paradise_Launch2_OCT15_20151013.txt
4464270 total
☁ 20151008 wc -l * | sort -n -t '-' -k2
4 low_up
12 test
20 fib.py
4464270 total
729288 10-09-2015_04_56_22_AM_TRM_WW_BF4_ZodiacMission_Libra_OCT15_20151009.txt
180917 10-12-2015_02_28_11_PM_TRM_WW_BFHL_CM_TEC9_OCT15_20151012.txt
1264154 10-12-2015_01_09_02_PM_TRM_WW_Minions_Paradise_Launch_OCT15_20151012.txt
2289875 10-13-2015_12_37_43_PM_TRM_WW_Minions_Paradise_Launch2_OCT15_20151013.txt
☁ 20151008 wc -l * | sort -n -t '-' -k2.2
4 low_up
12 test
20 fib.py
4464270 total
180917 10-12-2015_02_28_11_PM_TRM_WW_BFHL_CM_TEC9_OCT15_20151012.txt
1264154 10-12-2015_01_09_02_PM_TRM_WW_Minions_Paradise_Launch_OCT15_20151012.txt
2289875 10-13-2015_12_37_43_PM_TRM_WW_Minions_Paradise_Launch2_OCT15_20151013.txt
729288 10-09-2015_04_56_22_AM_TRM_WW_BF4_ZodiacMission_Libra_OCT15_20151009.txt
上面的結果可能比較亂,大體的意思就是通過第二列數值排序,然後進行-的分割,k2.2的意思就是第二列的第二個字符開始比較,所以那個09就到了最後。
結論
其他的話就不貼了,反正都是同樣的步驟,然後找點網上的題目實踐看看。