介绍
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 命令的教程。
谢谢阅读。