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

sort命令以及uniq命令

程序员文章站 2024-02-24 11:07:40
...

sort命令

sort 用于排序文本数据。该数据可以位于文件中或其他命令输出中。 Sort 通常与管道一起使用

sort
    -n          ##纯数字排序
    -u          ##去冗余
    |uniq -c        ##去除冗余并统计冗余次数
    -t          ##指定分隔符
    -k          ##指定列
[root@localhost ~]# cat /aaa/file1
2313
434
325
324
325
32
5
325
32
4
235
23
532
[root@localhost ~]# sort -n /aaa/file1   ##升序

4
5
23
32
32
235
324
325
325
325
434
532
2313
[root@localhost ~]# sort -rn /aaa/file1   ##降序
2313
532
434
325
325
325
324
235
32
32
23
5
4

[root@localhost ~]# sort -rnu /aaa/file1   ##去掉相同数字降序
2313
532
434
325
324
235
32
23
5
4

[root@localhost ~]# sort -k 1.2 /aaa/file1    ##对第二列进行排序

4
5
32
32
324
325
325
325
23
2313
532
434
235

[root@localhost ~]# sort -k 1.2 -n /aaa/file1   ##对相同位数的数字的第二列进行排序

4
5
32
32
23
324
325
325
325
532
434
235
2313

uniq 命令

uniq“ 删除 ”文件中重复的相邻行。若要只打印文件中出现的唯一行(“ 删除 ”所有重复行 ), 必须首先对uniq 的输入进行排序。由于可以为uniq 指定其决策所基于的字段或列 , 因此这些字段或列是对其输入进
行排序所必须的字段或列。如果未与选项一起使用 , uniq 会使用整个记录作为决策键 , 删除其输入中的重复行

sort file |uniq -c      ##去除冗余并统计冗余次数
                -d      ##显示冗余行
                -u      ##显示唯一行
[root@localhost ~]# sort -n /aaa/file1 |uniq -c ##生序并且去除冗(rong)余并统计冗余次数
      1 
      1 4
      1 5
      1 23
      2 32
      1 235
      1 324
      3 325
      1 434
      1 532
      1 2313
[root@localhost ~]# sort -n /aaa/file1 |uniq -d  ##生序并且显示冗余行
32
325
[root@localhost ~]# sort -n /aaa/file1 |uniq -u  ##生序并且显示唯一行

4
5
23
235
324
434
532
2313