Linux中的uniq命令

介绍

uniq 是用于检测和过滤文本文件或字符串中的重复行的命令。 这个命令非常有用。

通俗易懂地说,这个命令会从INPUT中过滤掉相邻的重复行,写入OUTPUT。

下面是关于如何在 Linux 中使用 uniq 命令的指南。

uniq 命令的结构

$ uniq [option] [input[output]]

[option]

-c(计数) 显示一行被复制的次数

-d(重复) 只打印重复的行

-f N(跳过字段) 跳过一行的 N 个字段,然后确定一行的唯一性

-i(忽略大小写) 默认情况下,该命令是大小写识别,但使用此选项时,它不会这样做。

-s N(跳过字符) 跳过 N 个特殊字符

-u(唯一) 仅打印唯一行

带有示例的 uniq 命令

1. -c(计数)

现在我们将尝试通过 cat 命令创建一个名为 count.txt 的文件,然后键入以下行:

$ cat > count.txt

然后我们使用带有 -c 选项的 uniq 来计算重复的行数:

$ uniq -c count.txt

输出:

每行之前的数字是该行的重复次数。

2.-d(重复)

现在我们将尝试通过 cat 命令创建一个名为 dup.txt 的文件,然后键入以下行:

$ cat > dup.txt

然后我们使用带有 -d 选项的 uniq:

$ uniq -d dup.txt

输出:

如您所见,仅打印出重复的行。

3. -f N(跳过字段)

现在我们将尝试通过 cat 命令创建一个名为 fn.txt 的文件,然后键入以下行:

$ cat > fn.txt

然后我们使用带有 -f N 选项的 uniq:

$ uniq -f 2 fn.txt

输出:

此选项对行编号很有用。 N = 2 表示命令将从第 2 行开始进行比较。

3. -i(忽略大小写)

现在我们将尝试通过 cat 命令创建一个名为 ignore.txt 的文件,然后键入以下行:

$ cat > ignore.txt

然后我们使用带有 -i 选项的 uniq:

$ uniq -i ignore.txt

输出:

默认情况下,该命令是区分大小写,但使用此选项时,它不会这样做。

4. -s N(跳过字符)

现在我们将尝试通过 cat 命令创建一个名为 skip.txt 的文件,然后键入以下行:

$ cat > skip.txt

然后我们使用带有 -s N 选项的 uniq:

$ uniq -s 3 skip.txt

输出:

如您所见,N = 3 表示该命令省略了前 3 个字符并开始过滤掉。

5. -u(唯一)

现在我们将尝试通过 cat 命令创建一个名为 unique.txt 的文件,然后键入以下行:

$ cat > unique.txt

然后我们使用带有 -u 选项的 uniq:

$ uniq -u unique.txt

输出:

“MUSIC”这一行是独一无二的,它被打印出来了。

结论

您刚刚阅读了有关如何在 Linux 中使用 uniq 命令的教程。

谢谢阅读。