如何在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
广告