📅  最后修改于: 2023-12-03 15:02:43.779000             🧑  作者: Mango
在Linux中,uniq
命令用于从已排序的文本文件或标准输入中删除重复的行。它可以帮助程序员在处理大型数据集时查找唯一的行,以及检测和删除重复的数据。
基本的 uniq
命令格式为:
uniq [选项] [输入文件 [输出文件]]
以下是 uniq
命令常用的选项:
-c
:在每行前面添加一个计数器,显示每行重复出现的次数。-d
:仅显示重复行。-i
:忽略大小写,将大写字母视为小写字母。-u
:仅显示不重复的行。-f N
:忽略前 N 个字段(以空格分隔)。-s N
:跳过前 N 个字符。假设我们有一个名为 file.txt
的文件,内容如下:
Apple
Banana
apple
Orange
banana
$ uniq file.txt
Apple
Banana
apple
Orange
banana
$ sort file.txt | uniq -c
1 Apple
2 Banana
2 apple
1 Orange
1 banana
$ sort file.txt | uniq -d
Banana
apple
$ sort file.txt | uniq -u
Apple
Orange
banana
$ sort file.txt | uniq -i
Apple
Orange
假设我们有一个名为 data.txt
的文件,内容如下:
1 John Doe
2 Jane Smith
3 James Johnson
我们可以使用 -f
选项来忽略前两个字段,并查找不重复的行:
$ uniq -f 2 data.txt
3 James Smothson
假设我们有一个名为 numbers.txt
的文件,内容如下:
101001
102002
103002
103003
我们可以使用 -s
选项来跳过前两个字符,并查找不重复的行:
$ uniq -s 2 numbers.txt
103002
103003
uniq
命令是一个强大的工具,它可以帮助程序员处理文本文件中的重复行,以及查找唯一的行。通过使用不同的选项,可以满足不同的需求,如计数重复行、删除重复行等。希望本文的示例和说明能够帮助您更好地理解和使用 uniq
命令。