我在Notepad ++中有这样的文字
Random Text Here:188.0.0.0
Random Text Here:188.0.3.0
Random Text Here:188.2.0.0
然而,最后的一些数字是重复的,我想摆脱它们。例如:
Random Text Here:188.0.3.0
Random Different Text Here:188.0.3.0
我将如何在群众中做到这一点,因为有数千条线?
答案 0 :(得分:1)
在Notepad ++中,我会尝试以下多步骤过程。
(1)使用正则表达式更改所有行,将IP地址和固定文本放在Random Text Here:188.0.0.0
到:188.0.0.0!!!Random Text Here
的前面。
(2)使用TextFx对文件进行排序,删除重复项。
(3)使用正则表达式查找和删除重复项。这可能需要多次通过。
(4)使用正则表达式以正确的顺序放回文本。
(5)(可选)再次对文件进行排序。
上述方法存在问题:
(a)首先为IP地址排序的“随机文本”将是保留的,而不是原始文件中的第一个。
(b)结果将按IP地址或随机文本排序,具体取决于是否使用步骤(5)。
更详细:
(0)选择输入文件中未出现的字符或短字符串。我将使用!!
。
(1)对文件执行正则表达式替换(使用点 匹配所选的换行符)将^(.*)(:\d+\.\d+\.\d+\.\d+)$
更改为$2!!$1
。
(2)使用TextFx对文件进行排序。指定排序唯一可能有助于减少行数。
(3)对文件执行正则表达式替换(使用点 匹配所选的换行符)将^(:\d+\.\d+\.\d+\.\d+)!!(.*)\r\n\1.*$
更改为$1!!$2
。当有多条线路具有相同的IP地址时,这将删除其中的大约一半。多次运行相同的更换,直到它报告没有进行任何更改。您可能需要根据文件中的行结尾更改\r\n
部分
(4)对文件执行正则表达式替换(使用点 匹配所选的换行符)将^(:\d+\.\d+\.\d+\.\d+)!!(.*)$
更改为$2$1
。
(5)(可选)再次对文件进行排序。