是否有可能在notepad++中删除重复的行,只留下一行的单一出现?


当前回答

在notepad++ 8.1版本中,有一个特定的命令可以精确地完成这个流行问题的要求。On可以使用菜单命令“编辑>行操作>删除重复行”删除文本文件中的重复行。

不需要安装插件(正如目前接受的答案所建议的那样),也不需要事先对行进行排序,或者像其他答案所建议的那样在Replace对话框中使用regex语法。

其他回答

如果你不关心行顺序(我认为你不关心),那么你可以使用Linux/FreeBSD/Mac OS X/Cygwin盒子,然后做:

$ cat yourfile | sort | uniq > yourfile_nodups

然后在notepad++中再次打开该文件。

到目前为止,使用记事本内置功能可以删除所有连续重复的行。首先对行进行排序:

编辑>行操作>“按字典顺序排序”,

then

编辑>线路操作>“删除连续重复线路”。

上面建议的正则表达式解决方案并没有为我删除所有重复的行,而是只删除了连续的行。

在NPP很难做到这一点。 更好的方法是:

下载cygwin实用程序,这是一个简单的Linux终端在windows下。 它允许在Windows中执行任何Linux命令。 这里是排序-u。

Notepad + +

->替换window

确保在搜索模式中选择了正则表达式单选按钮

找到:

(*) ^ (r ? (n - 1) +美元

替换为:

$1

之前:

我们认为 我们认为 一行 有可能 有可能

后:

我们认为 一行 有可能

无论文件是否排序,您都可以使用下面的regex删除文件中任何位置的重复项。

^([^\r]*[^\n])(.*?)\r?\ n \ 1美元 替换为:\1\2 搜索模式:

“正则表达式” 检查“。匹配换行"选项

尽可能多地点击“替换全部”(或按住Alt+A快捷键),直到你看到“0次发生被替换”