一、排序命令sort
### --- 排序命令sort
~~~ # 选项:
~~~ -f: 忽略大小写
~~~ -b: 忽略每行前面的空白部分
~~~ -n: 以数值型进行排序,默认使用字符串型排序
~~~ -r: 反向排序
~~~ -u: 删除重复行。就是 uniq 命令
~~~ -t: 指定分隔符,默认是分隔符是制表符
~~~ -k n[,m]: 按照指定的字段范围排序。从第 n 字段开始,m 字段结束(默认到行尾)
[root@localhost ~]# sort [选项] 文件名
### --- sort 命令默认是用每行开头第一个字符来进行排序的,比如:
~~~ 排序用户信息文件
[root@localhost ~]# sort /etc/passwd
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
### --- 如果想要反向排序;请使用"-r"选项:
~~~ 反向排序用户信息文件
[root@localhost ~]# sort -r /etc/passwd
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
### --- 如果想要指定排序的字段,需要使用“-t”选项指定分隔符,并使用“-k”选项指定字段号。
~~~ 加入我想要按照 UID 字段排序/etc/passwd 文件:
### --- 指定分隔符是“:”,用第三字段开头,第三字段结尾排序,就是只用第三字段排序
~~~ 注:5、看起来好像很美,可是如果仔细看看,怎么 daemon 用户的 UID 是 2,
~~~ 反而排在了下面?这是因为sort 默认是按照字符排序,前面用户的 UID 的第一个字符都是 1,
~~~ 所以这么排序。要想按照数字排序,请使用“-n”选项
[root@localhost ~]# sort -t ":" -k 3,3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
二、uniq命令
### --- uniq 命令是用来取消重复行的命令,其实和“sort -u”选项是一样的。命令格式如下:
~~~ # 选项:
~~~ -i: 忽略大小写
[root@localhost ~]# uniq [选项] 文件名
三、统计命令-wc
### --- 统计命令-wc
~~~ # 选项:
~~~ -l:只统计行数
~~~ -w:只统计单词数
~~~ -m:只统计字符数
[root@localhost ~]# wc [选项] 文件名