在操作大量的数据时,一个常用的命令是sort命令,sort命令的作用是对文件数据进行排序。
默认情况下,sort命令使用您为会话指定的默认语言的标准排序规则对文本文件中的数据行进行排序。
sort使用方法如下:
1、sort 文件名,对文件数据排序
[root@hadoop tmp]# cat file4
one
two
three
four
[root@hadoop tmp]# sort file4
four
one
three
two
2、sort -n 文件名,对文件数据排序,按照数字排序
cat默认是自然排序,那么如何按照数字进行排序呢?
[root@hadoop tmp]# cat file1
1
12
123
1234
2
23
3
34
[root@hadoop tmp]# sort file1
1
12
123
1234
2
23
3
34
[root@hadoop tmp]# sort -n file1
1
2
3
12
23
34
123
1234
3、sort -M 文件名,对文件数据排序,按照月份排序
[root@hadoop tmp]# cat file1
Jan
Mar
Feb
Apr
May
Jun
Jul
Aug
Sep
[root@hadoop tmp]# sort file1
Apr
Aug
Feb
Jan
Jul
Jun
Mar
May
Sep
[root@hadoop tmp]# sort -M file1
Apr
Aug
Feb
Jan
Jul
Jun
Mar
May
Sep
4、sort -k -t 文件名,对文件数据排序,指定排序字段
-t 参数指定字段分隔符
-k参数指定排序的字段
例如:根据userid数值对 /etc/passwd进行排序
[root@hadoop tmp]# sort -t ':' -k 3 -n /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
5、sort r 文件名,对文件数据排序,倒序
==综合使用:==与du命令一起使用,查看哪些文件在目录中占有的空间最多
[root@hadoop tmp]# du -sh * | sort -nr
8.0K dafu6
8.0K dafu3
4.0K file4
4.0K file2
4.0K file1
0 vmware-root_8748-2832338260
0 vmware-root_8601-1957110374
0 file3
0 efile6
0 efile5
0 efile4
0 efile3
0 dafu4
0 dafu2