sort---排序命令
sort
排序命令
通常在处理大量数据时会用到的命令,sort 用于排序。
选项及使用方法:
# sort -f filename #-f 选项,忽略字符大小写。
# sort -r filename #-r 选项,降序。
# sort -n filename #-n 选项,按数值排序,升序。
# sort -nr filename #-r 和-n 选项 同时使用,按数值排序,降序。
# sort -u filename #-u 选项,排序后去掉重复的行,或相同的行只显示一次。
# sort -t : -k 3 /etc/passwd #-t 选项,指定分隔符,-k 指定以第几个字段为排序目标,默认并不以数值大小做比较,而是以指定的字段,由左向右字符(数学或字母做升序排序)如果指的字段所有行的第一字符一样的 那么比较第二个,直到找到不一样的做排序。
# sort -t : -k 3 -n /etc/passwd #-t 选项,指定分隔符,-k 指定以第几个字段为排序目标,-n 按数值排序,默认为升序,需要做降序 加 -r 选项。
# sort -t : -k 3 -nr /etc/passwd #-t 选项,指定分隔符,-k 指定以第几个字段为排序目标,-n 按数值排序 -r 做降序。
例 9.12:默认按字母规则进行排序。
[root@xuegod63 ~]# cat /etc/passwd | sort | more
例 9.13: 按数据排序
[root@xuegod63 ~]# vim file2 #每行随意写一些数字。
2
23
231
例 9.14: 按数据排序,默认从小到大。
[root@xuegod63 ~]# sort -n file2 #-n 默认从小到大。
[root@xuegod63 ~]# sort -r file2 #-r 反序排序(升序变成降序进行排序) 从大小到。
231
23
2
例 9.15:支持按月份排序。
[root@xuegod63 ~]# vim file3 #写入以下内容。
January
March
April
February
[root@xuegod63 ~]# sort -M file3
April
February
January
March
例 9.16:组合使用。
(1) -t 指定一个用来区分键位置字符。
(2) -k 后面跟数字,指定按第几列进行排序。
(3) -r 反序排序(升序变成降序进行排序)。
[root@xuegod63 ~]# sort -t ":" -k3 -r /etc/passwd | more #按:做分隔符,以第 3 列,也就是用户 UID,来从大到小排序。
[root@xuegod63 ~]# du -h /etc | sort -r | more #把 etc 目录下所有文件,按从大到小排序。