字符串去重

在线去重网址

  1. TextMechanic - https://textmechanic.com/text-tools/basic-text-tools/remove-duplicate-lines/
  2. jsrun - http://jsrun.net/app/iVqKp

本地去重

在 Linux 中,有多种命令可以用来去重,其中最常用的是 uniq 命令。

假设我们有一个文本文件 file.txt,它包含一些重复的行,我们可以使用以下命令去掉其中的重复行:

uniq file.txt > newfile.txt

这个命令将会把 file.txt 中的重复行去掉,然后将结果输出到 newfile.txt 文件中。如果要在原文件中直接修改并去重,可以使用 -i 参数,例如:

uniq -i file.txt > tmpfile && mv tmpfile file.txt

这个命令将会在 file.txt 中去掉重复行,然后将结果覆盖原文件。

除了 uniq 命令,还有一些其他的命令也可以用来去重,例如 sort 命令、awk 命令和 sed 命令等。这些命令的具体用法可以通过查看相应的命令帮助文档来学习。

其他的命令

使用 sort 命令去重可以通过将文件作为输入,然后使用 -u 选项来输出唯一行,例如:

sort -u file.txt > output.txt

这将会将 file.txt 文件中的内容进行排序,并输出唯一的行到 output.txt 文件中。

使用 awk 命令去重可以使用一个数组来存储行,并使用 !a[$0]++ 来检查并打印未重复的行,例如:

awk '!a[$0]++' file.txt > output.txt

这将会将 file.txt 文件中的内容逐行读取,对于每一行,如果数组 a 中没有该行,则打印该行,并将其存储到数组 a 中。

使用 sed 命令去重可以使用 N 命令来读取下一行,并使用 D 命令来删除匹配的行,例如:

sed '$!N; /^\(.*\)\n\1$/!P; D' file.txt > output.txt

这将会将 file.txt 文件中的内容逐行读取,并将每两行合并为一行,然后检查是否重复。如果重复,则使用 D 命令删除该行,否则使用 P 命令打印该行。最终输出的内容将会是去重后的行。