Chinaunix首页 | 论坛 | 博客
  • 博客访问: 110508
  • 博文数量: 41
  • 博客积分: 1782
  • 博客等级: 上尉
  • 技术积分: 387
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-21 13:35
文章分类

全部博文(41)

文章存档

2014年(7)

2013年(3)

2012年(5)

2011年(10)

2010年(16)

分类: LINUX

2010-12-22 12:05:09

一、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) |
给主人留下些什么吧!~~