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