Linux命令之uniq

uniq 去除重复行

-c 去除重复行,并统计每行出现的次数
-d 只显示重复行
-u 只显示唯一的行

uniq只能去除连续出现的重复行,所以需要sort排序后使用

查看测试文件内容:
[root@mail tmp]# cat uniq.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
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
news:x:9:13:news:/etc/news:

1 直接使用sort ,会只去除连续的行
Linux命令之uniq

2 sort后,在uniq

Linux命令之uniq

3 去除重复行并统计

  [root@mail tmp]# sort uniq.txt |uniq -c
  1 adm:x:3:4:adm:/var/adm:/sbin/nologin
  1 bin:x:1:1:bin:/bin:/sbin/nologin
  1 daemon:x:2:2:daemon:/sbin:/sbin/nologin
  1 halt:x:7:0:halt:/sbin:/sbin/halt
  1 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
  1 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
  1 news:x:9:13:news:/etc/news:
  6 root:x:0:0:root:/root:/bin/bash
  1 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
  1 sync:x:5:0:sync:/sbin:/bin/sync

总结:uniq不能单独使用,必须和sort一起使用

猜你喜欢

转载自blog.51cto.com/shaiyawu/2132331
今日推荐