📜  Linux 中的 uniq 命令和示例(1)

📅  最后修改于: 2023-12-03 15:02:43.779000             🧑  作者: Mango

Linux 中的 uniq 命令和示例

介绍

在Linux中,uniq命令用于从已排序的文本文件或标准输入中删除重复的行。它可以帮助程序员在处理大型数据集时查找唯一的行,以及检测和删除重复的数据。

基本用法

基本的 uniq 命令格式为:

uniq [选项] [输入文件 [输出文件]]
选项

以下是 uniq 命令常用的选项:

  • -c:在每行前面添加一个计数器,显示每行重复出现的次数。
  • -d:仅显示重复行。
  • -i:忽略大小写,将大写字母视为小写字母。
  • -u:仅显示不重复的行。
  • -f N:忽略前 N 个字段(以空格分隔)。
  • -s N:跳过前 N 个字符。
示例

假设我们有一个名为 file.txt 的文件,内容如下:

Apple
Banana
apple
Orange
banana
示例1: 简单删除重复行
$ uniq file.txt
Apple
Banana
apple
Orange
banana
示例2: 显示重复行及其出现次数
$ sort file.txt | uniq -c
   1 Apple
   2 Banana
   2 apple
   1 Orange
   1 banana
示例3: 仅显示重复行
$ sort file.txt | uniq -d
Banana
apple
示例4: 仅显示不重复的行
$ sort file.txt | uniq -u
Apple
Orange
banana
示例5: 忽略大小写
$ sort file.txt | uniq -i
Apple
Orange
示例6: 忽略前两个字段

假设我们有一个名为 data.txt 的文件,内容如下:

1 John Doe
2 Jane Smith
3 James Johnson

我们可以使用 -f 选项来忽略前两个字段,并查找不重复的行:

$ uniq -f 2 data.txt
3 James Smothson
示例7: 跳过前两个字符

假设我们有一个名为 numbers.txt 的文件,内容如下:

101001
102002
103002
103003

我们可以使用 -s 选项来跳过前两个字符,并查找不重复的行:

$ uniq -s 2 numbers.txt
103002
103003
总结

uniq 命令是一个强大的工具,它可以帮助程序员处理文本文件中的重复行,以及查找唯一的行。通过使用不同的选项,可以满足不同的需求,如计数重复行、删除重复行等。希望本文的示例和说明能够帮助您更好地理解和使用 uniq 命令。