Dec 6

[译]sort用法说明 不指定

linuxing , 10:58 , 基础知识 » 系统命令 , 评论(0) , 引用(0) , 阅读(22763) , Via 本站原创 | |
   sort(排序),是常用的bash命令之一。其将指定的文本内容,以行为单位进行排序。默认的排序方法是从每行的第1个字符开始,以ASCII码的顺序来排序。当指定不同的参数时,可按指定的栏,依栏的内容对文件进行排序。
一、版本
不同平台的sort命令,其参数会有区别。以红旗DC Server 5.0为例,版本是:
引用
# sort --version
sort (coreutils) 5.2.1

Sort按文件的行进行对比排序,如果没有指定栏,则对比大小。如果不指定文件或指定为“-”,则由标准输入获取信息。

二、常用参数
命令格式:
引用
sort [options] [files]

常见参数:
引用
-b, --ignore-leading-blanks
   忽略每行前面开始处的空格和tab字符
-c, --check
   检查文件是否已经排序,如果输入文件排序不正确,就返回一个非零值。
-d, --dictionary-order
   按字典顺序,即对英文字母、数字及空格字符排序
-f, --ignore-case
   排序时,忽略大小写的区别,全部作为大写字母进行
-g, --general-numeric-sort
   按常规数字顺序排序
--help
   帮助信息
-i, --ignore-nonprinting
   忽略不可打印的字符(即指非八进制040~176之间的ASCII字符)排序
-k n[,m] , --key=n[,m]
   指定一个或几个字段作为排序关键字,字段位置从n开始,到m为止(包括n,不包括m)。如不指定m,则关键字为从n到行尾。字段和字符的位置从0开始,第一列为1。
-n
   按算术大小排序
-ofile, --output=file
   将排序结果保存成指定的文件,而非输出到屏幕
-m, --merge
   合并几个已经排序的文件
-r, --reverse
   反向排序
-s, --stable
   关闭最后重排的动作,实现稳定排序
-tc, --field-separator=c
   指定列分隔符,默认是tab
-u, --unique
   对排序后认为相同的行只留其中一行
-z, --zero-terminated
   结束行为0字符,而非新行(\n)字符
--version
   显示版本信息
-M, --month-sort
   将前3个字母(不含空格、忽略大小写)按照月份缩写进行排序,非月份缩写的行则排在最后,如JAN < FEB
-Ssize, --buffer-size=size
   设置多大的缓存,默认1024K,可使用M指定
-T tempdir, --temporary-directory=dir
   存放临时文件的目录

三、示例
sort的排序结果和LC_ALL、LC_COLLATE 或 LANG 环境变量有关,以En_US为例。
sort可直接对文件操作,但更多的时候,sort是配合其他命令,通过管道操作的。
引用
#wc -l * | sort -r
 22985 总用量
 22968 ez-update.log
    17 text
     0 test
     0 ssh-YCedH13769
     0 ssh-PrjCf13788

对文件的行数按降序排列显示
sort -fd wordlist | uniq -c

按字母顺序排序后,去除重复的单词,并显示每个单词使用的次数
sort -nk3,4 -t: /etc/passwd

按/etc/passwd中,用“:”号分割,并以3,4列(UID、GID)来进行排序
du | awk ' {if($1>n)  print $0}'|sort -g

统计当前目录下文件和目录大小超过n字节的信息,并根据算术大小排序显示出来
(方便查找当前目录下占用空间最大的文件和目录,若仅需要目录或文件信息,可配合find操作)

※对比ls -lrSR命令的输出信息
引用
-l    使用较长格式列出信息
-r, --reverse    依相反次序排列
-R, --recursive    同时列出所有子目录层
-S    根据文件大小排序


四、参考文件
原文来自:
http://www.oreillynet.com/linux/cmd/cmd.csp?path=s/sort
参考:
http://tech.ddvip.com/2007-06/118241140827929.html
http://www.linux-cn.com/html/linux/beginner/20070903/55460.html
Tags: ,
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]