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就到了最后。
结论
其他的话就不贴了,反正都是同样的步骤,然后找点网上的题目实践看看。