uniq
是一个用于处理排序数据文件的工具,在 Linux 和 Unix 系统中非常有用。该命令主要用于去除或计数文件中的重复行,或者在已排序的输入数据中输出唯一的非重复行。
uniq
的基本语法如下:
uniq [选项] 文件名
-c:显示重复行的数量。每行前面会加上一个数字,表示该行在文件中出现的次数。
uniq -c file.txt
-d:仅输出唯一的连续重复行(即相邻且内容相同的行)。
uniq -d file.txt
-u:与 -d
相反,仅输出非重复的行。每行后面没有出现相同内容的行则被保留。
uniq -u file.txt
-f 数值:跳过前 数值
列不进行比较。适用于字段分隔的情况。
uniq -f 1 file.txt
-s 数值:从每行的第 数值
个字符开始比较。
uniq -s 3 file.txt
-i:忽略大小写。将输入中的大小写字母视为相同。
uniq -i file.txt
假设有一个文件 example.txt
,内容如下:
apple
banana
apple
cherry
banana
使用 uniq
命令来去除重复行:
cat example.txt | uniq
输出结果为:
apple
banana
cherry
查看每行出现的次数:
cat example.txt | uniq -c
输出结果为:
2 apple
2 banana
1 cherry
找出相邻且内容相同的行:
cat example.txt | uniq -d
输出结果为:
apple
banana
假设 example.txt
文件格式如下:
color: red
color: blue
size: large
size: medium
size: large
使用 -f 2
跳过前面两列不进行比较:
cat example.txt | uniq -f 2
输出结果为:
color: red
size: large
size: medium
假设文件 example.txt
内容如下:
APPLE
banana
apple
Cherry
Banana
使用 -i
参数忽略大小写:
cat example.txt | uniq -i
输出结果为:
APPLE
banana
Cherry
uniq
命令在处理数据时非常有用,能够帮助我们快速去重和统计重复项。通过不同的参数设置可以满足多样化的操作需求。
使用 uniq
时可以根据实际需要灵活选择相应的选项来实现具体的功能。