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)前面

猜你喜欢

转载自www.cnblogs.com/watertaro/p/10348347.html