linux uniq命令


uniq将输入中重复的行去掉。如果排序完成了,想要将重复的资料仅列出一个显示,就可以用uniq命令
[peter@study ~]$ uniq [-ic]
选项与参数:
-i :忽略大小写字符的不同;
-c :进行计数
uniq命令用来将重复的行删除掉只显示一个 要知道这个月份登入你主机的用户有谁,而不在乎他的登入次数, 那么就可以取出last输出的账号字段,排序后,去掉重复的行:
[peter@study ~]$ last | cut -d ' ' -f1 | sort | uniq
上面的步骤为:
(1)先将所有的数据列出;
(2)再将人名独立出来;
(3)经过排序;
(4)只显示一个! 由于这个命令是在将重复的东西减少,所以当然需要配合排序过的文件』来处理!
上面去掉重复的行后,大部分情况需要统计出现的次数,也就是说,
[peter@study ~]$ last | cut -d ' ' -f1 | sort | uniq -c
      1 
     42 peter
     36 reboot
      7 root
      1 wtmp
从上面的结果可以发现reboot有36次登录, root登入则有7次!而peter则登录了42次 !
wtmp 与第一行的空白都是 last 的默认字符,那两个可以忽略的!

本文由initroot编辑整理,转载请注明www.initroot.com

100次点赞 100次阅读