SHELL—文本处理(二):sort与uniq命令

一.sort命令:排序

常用参数:

sort
	-n	##纯数字排序
	-r	##倒序
	-u	##去掉重复数字
	-o	##输出到指定文件中
	-t	##指定分隔符
	-k	##指定要排序的列
  • 不使用参数      ##以第一列大小开始依次排序
[root@server ~]# sort westos 

1
12
123
2
3
32
5
51
6
7
  • -n       ##纯数字排序
[root@server ~]# sort -n westos 

1
2
3
5
6
7
12
32
51
123
  • -u   ##去掉重复数字
[root@server ~]# sort -u westos 
1
12
123
2
3
32
5
51
6
7
  • -k      ##指定要排序的列,-t表示以什么为分隔符
[root@server ~]# sort -t : -k 2 westos 
2:0
12:10
2:12
3:2
51:20
5:21
123:22
32:31
5:4
6:4
1:5
51:55
123:66
7:79
[root@server ~]# sort -nt : -k 2 westos    ##以:为分隔符的第二列的纯数字大小来排序
2:0
3:2
5:4
6:4
1:5
12:10
2:12
51:20
5:21
123:22
32:31
51:55
123:66
7:79

二.uniq命令:对重复字符处理

常用参数:

uniq
	-u	##显示唯一的行
	-d	##显示重复的行
	-c	##每行显示一次并统计重复次数
  • -c     ##每行显示一次并统计重复次数
[root@server ~]# sort -n westos | uniq -c
      1 0
      1 1
      2 2
      1 4
      1 6
      1 9
      2 10
      1 20
      1 22
      2 31
      1 55
  • -d     ##显示重复的行
[root@server ~]# sort -n westos | uniq -d
2
10
31
  • -u    ##显示唯一的行
[root@server ~]# sort -n westos | uniq -u
0
1
4
6
9
20
22
55

三.练习

  • 找到/tmp目录中最大的文件
[root@localhost mnt]# ll /tmp
total 0
drwx------. 3 root root 16 12月 26 22:08 systemd-private-KkEfrN
drwx------. 3 root root 16 12月 29 02:13 systemd-private-m3F7xH
drwx------. 3 root root 16 12月 29 02:13 systemd-private-swBwAS
drwx------. 3 root root 16 12月 26 22:08 systemd-private-Swh7vK
第一种方法:
[root@localhost mnt]# ll /tmp | sort -nk 5 | cut -d " " -f 9 | tail -n 1
systemd-private-swBwAS
第二种方法:
[root@localhost mnt]# ls -Sl /tmp | head -2 | cut -d " " -f 9

systemd-private-KkEfrN

猜你喜欢

转载自blog.csdn.net/daizheng12345/article/details/85340709