Linux中uniq和sort运行顺序,linux中shell的sort与uniq命令(文本处理二)

本文介绍了Linux中的`sort`和`uniq`命令,用于对文件内容进行排序和去除重复行。通过`sort`命令的-n、-r、-u和-o参数实现数字排序、倒序、去重和输出到指定文件。同时,利用`-t`和`-k`参数可以指定分隔符和排序依据的列。`uniq`命令则提供了-u、-d和-c选项来显示唯一行、重复行和行计数。在实际操作中,结合这两个命令可以有效地处理和分析文本数据。
摘要由CSDN通过智能技术生成

一、sort命令:排序

参数:

-n 纯数字排序

-r 倒序

-u 去掉重复数字

-o 输出到指定文件中

-t 指定分隔符

-k 指定要排序的列

[root@server ~]# sort westos   (默认以第一个数字排序)

1

12

123

2

3

32

5

51

6

7

[root@server ~]# sort -n westos

1

2

3

5

6

7

12

32

51

123

[root@server ~]# sort -u westos

1

12

123

2

3

32

5

51

6

7

[root@server ~]# 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

[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

[root@server ~]# sort -nt : -k 2 westos -o /mnt/file

1

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

参数

-u 显示唯一的行

-d 显示重复的行

-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

[root@server ~]# sort -n westos | uniq -d

2

10

31

[root@server ~]# sort -n westos | uniq -u

0

1

4

6

9

20

22

55

三、练习

将/tmp目录中的文件取出最大的

[root@server 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

第一种:

[root@server mnt]# ll /tmp | sort -nk 5 | cut -d " " -f 9 | tail -n 1

yum_save_tx.2018-12-22.06-42.wwVZCI.yumtx

第二种:

[root@server mnt]# ls -Sl /tmp/ | head -2 | cut -d " " -f 9

yum_save_tx.2018-12-22.06-42.wwVZCI.yumtx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值