uniq用于检查文本文件中重复出现的行列,一般与sort命令结合使用
语法:
uniq [-cdu] [-f<栏位>] [-s<字符位置>] [-w<字符位置>] [输入文件] [输出文件]
参数:
-c:在每列旁边显示该行重复出现的次数
-d:仅显示重复出现的行列
-f<栏位>:忽略比较指定的栏位
-s<字符位置>:忽略比较指定的字符
-u:仅显示出一次的行列
-w<字符位置>:指定要比较的字符
[输入文件]:制定已排序好的文本文件。如果不指定此项,则从标准读取数据。
[输出文件]:制定输出的文件。如果不指定此选项,则将内容显示到标准输出设备(显示终端)。
示例:
testfile中的原有内容为:
> cat testfile # 原有内容
test 30
test 30
test 30
Hello 95
Hello 95
Hello 95
Hello 95
Linux 85
Linux 85
> uniq testfile # 删除重复行后的内容
test 30
Hello 95
Linux 85
> uniq -c testfile # 检查文件并删除文件中重复出现的行,并在行首显示该行重复出现的次数。
3 test 30
4 Hello 95
2 Linux 85
当重复的行并不相邻时,uniq命令是不起作用的,即若文件内容为以下时