unqiq 命令通过消除重复内容,从给定的输入中找出单一的行。它也可以用来找出输入中出现的重复行。uniq只能用于排过序的数据输入,因此,uniq要么使用管道,要私将排过序的文件作为输入,并总是以这种方式与sort命令结合起来。
cat sorted.txt
#bash
#foss
#hack
#hack
cat data.txt
#u:01:gnu
#u:04:linux
#u:01:hack
#u:01:hack
例子
1.显示唯一行
uniq sorted.txt
- 只显示唯一行
uniq -u sorted.txt
- 统计各行在文件中出现的次数
uniq -c sorted.txt
- 找出文件的重复行
uniq -d sorted.txt
- 忽略并指定字符数来uniq操作
sort data.txt | uniq -s 2 -w 2
- 计算字符串中出现的次数
echo `echo 'ahebhaa' | sed 's/[^\n]/&\n/g' | sed '/^$/d' | sort | uniq -c | tr -d ' \n'`