uniq只可以将相邻行重复数据进行去重处理:
[root@localhost /data/mysql/mysql3306]#last | cut -d ' ' -f 1 | tail -15 > test
#将用户登录信息last的输出以空格分隔,截取首列(注意一行的文字内容之间可能有多个空格,所以用cut -k 1,5这样的参数得不到想要的(显示第一和第五列)结果),因为内容过多,仅取用末15行,放置到test中
[root@localhost /data/mysql/mysql3306]#cat test
root
root
root
root
root
root
(unknown
reboot
stone
stone
stone
(unknown
reboot
wtmp
[root@localhost /data/mysql/mysql3306]#uniq -c test
6 root
1 (unknown
1 reboot
3 stone
1 (unknown
1 reboot
1
1 wtmp
#相同的两个reboot和(unknown都没有累计
[root@localhost /data/mysql/mysql3306]#sort test | uniq -c
1
2 reboot
6 root
3 stone
2 (unknown
1 wtmp
加sort排序后才可以正确计数
uniq -i 忽略字符大小写
转载于:https://blog.51cto.com/lybliangliang/1951388