一、基本语法
sort命令用于对指定文件中的行进行排序,并将结果输出到标准输出,如果指定多个文件,则sort命令会将这些文件连接起来当作一个文件进行排序。其语法格式如下:
sort [-fbMnrtuk] [file or stdin]
选项与参数含义如下:
-f:忽略大小写的差异,比如:A与a为相同字符
-b:忽略最前面的空格符部分
-M:以月份的名字排序,比如:JAN、DEC等
-n:使用纯数字进行排序,默认是以字符排序
-r:反向排序
-u:相同的数据仅出现一行,同uniq
-t:指定分隔符,默认以tab键分隔
-k:以哪个字段(field)来排序
二、常用操作
这里以/etc/passwd为例说明之,输出结果省略:
#cat /etc/passwd | sort
sort默认是以第一个数据来排序,而且默认以字符串形式来升序排序。
#cat /etc/passwd | sort -t ':' -k 3
以冒号:作为分隔符,并且以第3个字段来排序。
#cat /etc/passwd | sort -t ':' -k 3n
以冒号:作为分隔符,并且以第3个字段的数字形式来排序,默认是字符串形式排序。
#cat /etc/passwd | sort -t ':' -k 3nr
以倒序排序,默认是升序排序。
#cat /etc/passwd | sort -t ':' -k 6.2,6.4 -k 1r
对第6个字段的第2个字符到第4个字符进行升序排序,再按照第1个字段进行倒序排序。
#cat /etc/passwd | sort -t ':' -k 7 -u
对第7个字段进行排序,再去重。
阅读(1492) | 评论(0) | 转发(0) |