sort命令
- sort 命令,排序。将文件进行排序,并将排序结果标准输出
- sort命令,默认按照ASCII码排序
- -n 以数字排序,而其中的字符和字母都会默认为0
- -r 反序
- -t 分隔符
- -kn1/-kn1,n2
[root@hf-01 ~]# sort /etc/passwd //sort命令,默认按照ASCII码排序
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
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
[root@hf-01 ~]# head /etc/passwd >> 1.txt //head命令,默认显示前十行
[root@hf-01 ~]# vim 1.txt //并在文件中添加一些字符,特殊符号
[root@hf-01 ~]# sort 1.txt //sort命令,默认按照ASCII码排序
<
{
1.txt
222111
22222222222aaaaaa
223333
22aaa
2.txt
47888888gdkgljsd
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
*dffadg
halt:x:7:0:halt:/sbin:/sbin/halt
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sync:x:5:0:sync:/sbin:/bin/sync
[root@hf-01 ~]#
sort命令的参数 -n
- sort -n 1.txt中的字母和字符都默认为0
- 所以字母和符号会排在最前面,然后是数字排序
[root@hf-01 ~]# sort -n 1.txt
<
{
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
*dffadg
halt:x:7:0:halt:/sbin:/sbin/halt
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
1.txt
2.txt
22aaa
222111
223333
47888888gdkgljsd
22222222222aaaaaa
[root@hf-01 ~]#
sort命令的参数-r
- sort -nr 1.txt //反序排序
- -r表示反序
[root@hf-01 ~]# sort -nr 1.txt
22222222222aaaaaa
47888888gdkgljsd
223333
222111
22aaa
2.txt
1.txt
sync:x:5:0:sync:/sbin:/bin/sync
operator:x:11:0:operator:/root:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
*dffadg
daemon:x:2:2:daemon:/sbin:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
{
<
[root@hf-01 ~]#
sort命令的参数 -t
- sort -t 分隔符
wc命令
- wc -l 统计行数
- -m 统计字符数 ,也会统计换行符(换行符是隐藏的)
- -w 统计词,它是以空格、空白字符进行区分的
- 以分号分割的也会认为是一个字符,比如111,qqq这个就会认为是一个字符
- cat -A 显示文件中所有的字符(包括隐藏的)
[root@hf-01 ~]# wc -l 1.txt //显示文件的行数
22 1.txt
[root@hf-01 ~]# wc -m 1.txt //显示文件中的字符数
468 1.txt
[root@hf-01 ~]# vim 2.txt //在文件中编写两行,6个字符
[root@hf-01 ~]# wc -m 2.txt //在查看的时候,会显示出8个字符
8 2.txt
[root@hf-01 ~]# cat -A 2.txt //会统计所有的字符,包括隐藏字符
123$
avd$
[root@hf-01 ~]# wc -w 2.txt //它是以空格、空白字符进行区分的
2 2.txt
uniq命令
- uniq 去重, 用于报告或忽略文件中的重复行。常与sort排序命令结合使用
- -c统计行数
代码语言:javascript复制uniq命令去重条件:需要先排序,再去重
[root@hf-01 ~]# vim 2.txt
[root@hf-01 ~]# cat 2.txt
123
avd 112,21a
123
avd
1
2
1
[root@hf-01 ~]# uniq 2.txt
123
avd 112,21a
123
avd
1
2
1
[root@hf-01 ~]# vim 2.txt
[root@hf-01 ~]# cat 2.txt //查看文件内容
123
avd 112,21a
123
avd
1
1
2
[root@hf-01 ~]# uniq 2.txt //会看到在更改排序后,去重了
123
avd 112,21a
123
avd
1
2
[root@hf-01 ~]#
- uniq命令和sort命令结合使用
- 先排序,再去重
[root@hf-01 ~]# sort 2.txt
1
1
123
123
2
avd
avd 112,21a
[root@hf-01 ~]# sort 2.txt |uniq
1
123
2
avd
avd 112,21a
[root@hf-01 ~]#
uniq命令参数 -c
- uniq -c 统计重复次数
[root@hf-01 ~]# sort 2.txt |uniq -c
2 1
2 123
1 2
1 avd
1 avd 112,21a
[root@hf-01 ~]#