一、sort
默认排序规则
1、按行排序(不加参数),从行的开头第一个字符开始比较,如果相同则第二个,以此类推
2、比较字符时是按ASCII值大小进行排序
3、比较数字时可加参数"-n"指定排序为数字排序
====================================================================
按字段排序
举例:
-rw-r--r-- 1 root root 24 Jan 6 2007 .bash_logout
(1) (2) (3) (4) (5) (6) (7) (8) (9)
字段说明符:
+number1 -number2
其中number1指定相对于排序字段开始位置的字段编号(我的理解就是他们之间的间隔字段数)
number2指定相对于行首位置,到达排序字段的结尾位置的字段编号(我的理解是它的字段号,但是除了首尾字段,在上面的例子中,第一个字段的number2为-1,最后一个字段的number2为0,默认如果未指定结尾字段,就是number2如果不指定,则假定行尾为结尾字段)
并且number2比number1至少大于1
#sort +0 -1 //+0 -1 指的是-rw-r--r--
#sort +8 //这里没有指定number2,默认就是行尾,这里表示.bash_logout 字段
#sort +1 -2 //这里表示第二字段 "1"
#sort +1 -3 //注意这里number2也算是字段号吧,代表按“ 1 root”两个字段排序
参数:
-t 指定分隔符(默认是空格或制表符)
-n 指定比较为数字式,否则将默认按字符型字符串进行处理
-m 合并已排序文件,如果合并未排序文件,sort不会提示错误,而是尽量对数据进行排序,但是排序结果 不正确
-u 唯一选项,当排序字段相同时,则只保留一行,并删除其他重复行
-r 逆向排序(降序)
-b 忽略前导空格,如果不忽略前导空格,则每个空格被看成是一个单独的[null]字段
-d 字典排序(一般用在有特殊字符的情况下)
-f 重叠小写(忽略大小写)
===================================================================================
多途径排序:
#sort +0 -1 +1n -2
阅读(268) | 评论(0) | 转发(0) |