欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Shell---文本处理(二):sort与uniq命令

程序员文章站 2024-02-24 10:28:10
...

一、sort命令:排序

  • 参数:
参数 用法
-n 纯数字排序
-r 倒序
-u 去掉重复数字
-o 输出到指定文件中
-t 指定分隔符
-k 指定要排序的列
[[email protected] ~]# sort westos   (默认以第一个数字排序)
1
12
123
2
3
32
5
51
6
7 
  • -n
[[email protected] ~]# sort -n westos 
1
2
3
5
6
7
12
32
51
123
  • -u
[[email protected] ~]# sort -u westos 
1
12
123
2
3
32
5
51
6
7
  • -k
[[email protected] ~]# sort -t : -k 2 westos   (此时没有n参数,默认以第二列数字的第一个数字大小排序)
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
[[email protected] ~]# 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命令:对重复字符处理

参数 用法
-u 显示唯一的行
-d 显示重复的行
-c 每行显示一次并统计重复次数
[[email protected] ~]# 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
[[email protected] ~]# sort -n westos | uniq -d
2
10
31 
[[email protected] ~]# sort -n westos | uniq -u
0
1
4
6
9
20
22
55 

三、练习

  1. 将/tmp目录中的文件取出最大的
[[email protected] mnt]# ll /tmp
total 4
drwx------. 2 root root  23 Dec 22 06:42 ssh-o63BsvHdpEJR
drwx------. 3 root root  16 Dec 22 06:40 systemd-private-Bsnm8D
drwx------. 3 root root  16 Dec  9 07:54 systemd-private-knpjXn
drwx------. 3 root root  16 Dec  9 07:52 systemd-private-LpoUQZ
drwx------. 3 root root  16 Dec 22 06:42 systemd-private-OmwKO5
drwx------. 3 root root  16 Dec 22 06:40 systemd-private-OWrNwD
drwx------. 3 root root  16 Dec  9 07:52 systemd-private-xoctWX
-rw-------. 1 root root 563 Dec 22 06:42 yum_save_tx.2018-12-22.06-42.wwVZCI.yumtx

第一种:
[[email protected] mnt]# ll /tmp | sort -nk 5 | cut -d " " -f 9 | tail -n 1
yum_save_tx.2018-12-22.06-42.wwVZCI.yumtx

第二种:
[[email protected] mnt]# ls -Sl /tmp/ | head -2 | cut -d " " -f 9

yum_save_tx.2018-12-22.06-42.wwVZCI.yumtx 
相关标签: Shell shell