uniq 命令用于检查和删除文件中的重复行,不过有一个重要前提:它只能处理相邻的重复行。这意味着如果你想要完全去重,通常需要先用 sort 命令对文件进行排序。
基本用法示例:
-
最基本用法:
-
常用的组合命令(先排序再去重):
-
一些常用选项:
-c: 显示每行出现的次数
-d: 只显示重复的行
-u: 只显示不重复的行
-i: 忽略大小写
举个实际例子,假设有个 names.txt 文件内容如下:
code
Alice
bob
alice
Bob
Tom
tom
使用不同的命令会得到不同结果:
bash
# 直接使用 uniq(注意没有完全去重)
uniq names.txt
# 先排序再去重(推荐用法)
sort names.txt | uniq
# 显示重复次数
sort names.txt | uniq -c
# 只显示重复的行
sort names.txt | uniq -d