uniq
显示或忽略重复的行。
¶概要
uniq [OPTION]... [INPUT [OUTPUT]] |
¶主要用途
- 将输入文件(或标准输入)中邻近的重复行写入到输出文件(或标准输出)中。
- 当没有选项时,邻近的重复行将合并为一个。
¶选项
-c, --count 在每行开头增加重复次数。 |
¶参数
INPUT(可选):输入文件,不提供时为标准输入。
OUTPUT(可选):输出文件,不提供时为标准输出。
¶返回值
返回0表示成功,返回非0值表示失败。
¶例子
注意:命令2和命令3结果一样,命令1仅作了相邻行的去重。uniq file.txt
sort file.txt | uniq
sort -u file.txt
只显示单一行,区别在于是否执行排序:uniq -u file.txt
sort file.txt | uniq -u
统计各行在文件中出现的次数:sort file.txt | uniq -c
在文件中找出重复的行:sort file.txt | uniq -d
¶注意
uniq
只检测邻近的行是否重复,sort -u
将输入文件先排序然后再处理重复行。该命令是
GNU coreutils
包中的命令,相关的帮助信息请查看man -s 1 uniq
,info coreutils 'uniq invocation'
。