是否有可能在notepad++中删除重复的行,只留下一行的单一出现?
当前回答
如果你不关心行顺序(我认为你不关心),那么你可以使用Linux/FreeBSD/Mac OS X/Cygwin盒子,然后做:
$ cat yourfile | sort | uniq > yourfile_nodups
然后在notepad++中再次打开该文件。
其他回答
到目前为止,使用记事本内置功能可以删除所有连续重复的行。首先对行进行排序:
编辑>行操作>“按字典顺序排序”,
then
编辑>线路操作>“删除连续重复线路”。
上面建议的正则表达式解决方案并没有为我删除所有重复的行,而是只删除了连续的行。
在notepad++ 8.1版本中,有一个特定的命令可以精确地完成这个流行问题的要求。On可以使用菜单命令“编辑>行操作>删除重复行”删除文本文件中的重复行。
不需要安装插件(正如目前接受的答案所建议的那样),也不需要事先对行进行排序,或者像其他答案所建议的那样在Replace对话框中使用regex语法。
如果行是紧挨着的,那么你可以使用正则表达式替换:
搜索模式:^(.*\r?\n)(\1)+
替换为:\1
notepad++的后一个版本显然根本不包括TextFX插件。为了使用插件排序/消除重复,必须下载并安装插件(更复杂)或使用插件管理器添加插件。
A)简单的方法(如这里所述)。
插件->插件管理->显示插件管理->可用选项卡-> TextFX字符->安装
B)更复杂的方式,如果需要另一个版本或简单的方法不起作用。
从SourceForge下载插件: http://downloads.sourceforge.net/project/npp-plugins/TextFX/TextFX%20v0.26/TextFX.v0.26.unicode.bin.zip 打开压缩文件,解压“NppTextFX.dll” 将NppTextFX.dll放在notepad++插件目录中,例如: C:\Program Files\ notepad++ \ plugins 启动notepad++, TextFX将是文件菜单项之一(如Colin Pickard上面的答案#1所示)
在安装TextFX插件之后,按照答案#1中的说明对重复项进行排序和删除。
另外,如果你经常使用这个命令,或者想复制一个键盘快捷方式,比如在TextPad中使用F9进行排序,可以考虑使用Settings >快捷方式映射器来设置一个键盘快捷方式。
notepad++的插件管理器目前不可用(不随发行版提供)。你必须手动安装它(https://github.com/bruderstein/nppPluginManager/releases),即使你这样做,很多插件是不可用的(没有TextFX)插件。
也许有另一个插件包含所需的功能。除此之外,在notepad++中做到这一点的唯一方法是使用一些特殊的正则表达式进行匹配,然后替换(Ctrl + F→替换选项卡)。
虽然有许多功能可通过编辑菜单项(修剪,删除空行,排序,转换EOL),但没有“唯一”操作可用。
如果你有Windows 10,那么你可以启用Bash(只需在微软商店中输入Ubuntu,并按照说明安装它),并使用cat your_file.txt | sort | uniq > your_file_editing .txt。当然,你必须在与“your_file.txt”相同的工作目录中,或者通过它的路径引用它。
推荐文章
- 我如何使用notepad++(或其他)与msysgit?
- 删除重复的行
- 复制notepad++文本与格式?
- 如何停止notepad++显示文件中所有单词的自动补全
- 如何从c#数组中删除重复项?
- 在SQL Server中查找重复的行
- 在Python Pandas中删除多个列中的所有重复行
- MySQL对重复键更新在一个查询中插入多行
- 我如何检查是否有重复在一个平面列表?
- 如何将大写字母转换为小写notepad++
- 我如何在python中使用熊猫获得所有重复项的列表?
- notepad++是否显示所有隐藏字符?
- 如何在notepad++文本编辑器中更改背景颜色?
- 按列A删除重复项,保留列B中值最高的行
- 如何在PostgreSQL中找到重复的记录