linux中一些简便的命令之sort
1、sort file
直接按照顺序排列
2、sort -r file
按照反序排列
3、sort -t 【符号】file
指定符号的分隔符,默认为空格
sort -t ';' file
4、sort -k 【列号】 file
按照定制列排序,默认按照一行排序
-k的语法为:[ FStart [ .CStart ] ] [ Modifier ] [ , [ FEnd [ .CEnd ] ][ Modifier ] ]
FStart ---开始行数
CStart ---行内的第几个字符
Modifier ---选项部分,一般包括r、n、b、d、f、i等
FEnd ---截止行数
CEnd ---截止行的第几个字符
点号 ---行和行内字符分隔符
逗号 ---开始和结束域的分隔符
所有里面,只有FStart是必须的,其他都不是必须的
举几个列子:
sort -k 1r file ---按照第一列反序排列
sort -k 1.2 file ---标识从第一列的第二个字符开始排序
sort -k 1.2,1.5 ---按照第一列第二个字符到第一列第五个字符进行排列
当前暂不支持跨域,比如
sort -k 2.3,4,5 file ---其实作用域仅限于第二列第三个字符到第二列尾,若都相同,则从第一列比较排序
当然如果需要跨域,则可以如下方式:
sort -k 2.3r -k 3 -k 4.1,4.5 file ---先按照第二列第三个字符开始反序排列,都一样就按照第三列排序,最后按照第四列第一到第五排序,若都一样,则从第一列排序
5、sort -n file
按照数字排序,默认是按照ascii码排序
6、sort -u file
把一样的去除掉,就是去重
7、sort file -o file
把排序后的结果重新写入到当前文件中
如果用重定向,文件会被清空
8、sort -b file
忽略每行前面的空格后再排序
9、sort -f file
忽略大小写后再排序
10、sort -M file
前三个字母按照月份进行排序,如May排在August(Aug)前面