Linux Shell sort按照指定的顺序进行排列

按照指定的顺序升序排列

sort -t ":" -k 2n,2 file.log

file_numb: 306; total_size: 184.478 GB;avg_size: 617.339 MB
file_numb: 348; total_size: 140.047 GB;avg_size: 412.091 MB
file_numb: 2427; total_size: 0.00790029 GB;avg_size: 0.00333329 MB
file_numb: 3146; total_size: 138.763 GB;avg_size: 45.1663 MB
file_numb: 3154; total_size: 87.16 GB;avg_size: 28.298 MB
file_numb: 3168; total_size: 105.801 GB;avg_size: 34.1983 MB
file_numb: 3168; total_size: 371.135 GB;avg_size: 119.963 MB

按照指定的顺序降序进行排列

sort -t ":" -k 4rn,4 file.log

file_numb: 306; total_size: 184.478 GB;avg_size: 617.339 MB
file_numb: 348; total_size: 140.047 GB;avg_size: 412.091 MB
file_numb: 3168; total_size: 371.135 GB;avg_size: 119.963 MB
file_numb: 3146; total_size: 138.763 GB;avg_size: 45.1663 MB
file_numb: 3168; total_size: 105.801 GB;avg_size: 34.1983 MB
file_numb: 3154; total_size: 87.16 GB;avg_size: 28.298 MB
file_numb: 2427; total_size: 0.00790029 GB;avg_size: 0.00333329 MB

结果说明:
1.-t 指定文本分隔符
2.-k 指定排序列
3.-n 按数字进行排序
4.-r 翻转排序结果

其它参数
参数:
-b 忽略每行前面开始出的空格字符。
-c 检查文件是否已经按照顺序排序。
-f 排序时,忽略大小写字母。
-M 将前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-o<输出文件> 将排序后的结果存入指定的文件。
-r 以相反的顺序来排序。
-t<分隔字符> 指定排序时所用的栏位分隔字符。
-k 选择以哪个区间进行排序。