如何在Linux中删除已排序文件中重复的行?


要删除已排序文件中重复的行并使其唯一,我们使用Linux系统中的uniq命令。uniq命令作为一种过滤器程序,报告文件中重复的行。它过滤掉输入中相邻的匹配行,并提供唯一的输出。此命令也可用于Windows和IBM i操作系统。

语法

uniq命令的通用语法如下所示

uniq [OPTION]... [INPUT [OUTPUT]]

fmt命令中可用选项的简要说明。

序号选项及说明
1-c, --count
显示每行重复的次数。
2-d—repeated
仅显示重复的行,每组一行。
3-D
显示所有重复的行。
4-f, --skip-fields=N
避免比较前N个字段。
5-i, --ignore-case
比较时忽略大小写差异。
6-s, --skip-chars=N
避免比较前N个字符。
7-u, --unique
仅打印唯一行
8-w, --check-chars=N
行分隔符为NULL,而不是换行符
9-v, --verbose
比较行中不超过N个字符。
10--help
显示帮助信息并退出。
11--version
输出版本信息并退出。

要打印删除文件中重复行后的内容,我们使用Linux系统中的uniq命令,如下所示。

$ cat >text.txt
Print only unique lines.
The earth is round.
The earth is round.
Welcome to the tutorialpoint...
Welcome to the tutorialspint...
$ uniq text.txt
Print only unique lines.
The earth is round.
Welcome to the tutorialpoint...

要打印文件的重复行数,我们使用-c或--count选项以及uniq命令,如下所示。

$ uniq –c text.txt
2 The earth is round.
2 Welcome to the tutorialspoint...
1 Print only unique lines.

要仅打印文件的唯一行,我们使用-u或–unique选项以及uniq命令,如下所示。

$ uniq –u text.txt
Print only unique lines.

要检查有关uniq命令的更多信息,我们使用--help选项以及Linux操作系统中的uniq命令,如下所示。

$ uniq --help

要检查uniq命令的版本信息,我们使用--version选项以及Linux操作系统中的uniq命令,如下所示。

$ uniq --version

更新于:2021年7月1日

7K+ 浏览量

启动您的职业生涯

通过完成课程获得认证

开始
广告