[译]sort用法说明

   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

[译]uniq用法解释

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/112495.html

(0)
上一篇 2021年8月27日
下一篇 2021年8月27日

相关推荐

发表回复

登录后才能评论