从文本文件记事本++中删除部分重复行
remove partial duplicate lines from text file notepad++
我有如下例所示的庞大列表,需要删除第 1、3、6 和 8 行,因为它们部分重复,所以我需要保留最长的行。
COMPAQ PRESARIO A940ES NOTEBOOK PC
COMPAQ PRESARIO A940ES NOTEBOOK PC - KU048EAR
HP PAVILION DV7-1210EA NOTEBOOK PC
HP PAVILION DV7-1210EA NOTEBOOK PC - NG385EA#ABU
HP PAVILION DV7-1210EA NOTEBOOK PC - NG385EAR
HP PAVILION DV7-1210ED NOTEBOOK PC
HP PAVILION DV7-1210ED NOTEBOOK PC - NA048EA#ABH
HP PAVILION DV7-1210ED NOTEBOOK PC - NA048EA
我需要的最终结果是:
COMPAQ PRESARIO A940ES NOTEBOOK PC - KU048EAR
HP PAVILION DV7-1210EA NOTEBOOK PC - NG385EA#ABU
HP PAVILION DV7-1210EA NOTEBOOK PC - NG385EAR
HP PAVILION DV7-1210ED NOTEBOOK PC - NA048EA#ABH
如果你不需要保留你的行的原始顺序,你可以尝试这样的事情:
- 使用编辑 -> 行操作 -> 按字典序升序对行进行排序
- 确保最后一行以换行符结尾
- 现在我们做一个Find/Replace:
- 查找内容:
^(.*)\r\n(.*?\r\n)
- 替换为:
</code></li>
<li>勾选左下方:<strong>正则表达式</strong>和<strong>。匹配换行符</strong></li>
<li>如果你的行尾只有 <code>\n
:使用 \n
而不是 Find What.[=40= 中的两个 \r\n
]
- 点击替换或全部替换,点击经常,直到有没有什么可替换的,替换对话框中的状态栏会告诉您。
工作原理:
- 排序将重复项按顺序排列,最长的"duplicate"排在最后!
- Find/Replace 考虑两行,其中第一行是第二行的一部分,然后用第二行替换这两行。 (这意味着,如果您有三个重复项:第一个全部替换将保留第二行和第三行,您需要另一个全部替换。)
我有如下例所示的庞大列表,需要删除第 1、3、6 和 8 行,因为它们部分重复,所以我需要保留最长的行。
COMPAQ PRESARIO A940ES NOTEBOOK PC COMPAQ PRESARIO A940ES NOTEBOOK PC - KU048EAR HP PAVILION DV7-1210EA NOTEBOOK PC HP PAVILION DV7-1210EA NOTEBOOK PC - NG385EA#ABU HP PAVILION DV7-1210EA NOTEBOOK PC - NG385EAR HP PAVILION DV7-1210ED NOTEBOOK PC HP PAVILION DV7-1210ED NOTEBOOK PC - NA048EA#ABH HP PAVILION DV7-1210ED NOTEBOOK PC - NA048EA
我需要的最终结果是:
COMPAQ PRESARIO A940ES NOTEBOOK PC - KU048EAR HP PAVILION DV7-1210EA NOTEBOOK PC - NG385EA#ABU HP PAVILION DV7-1210EA NOTEBOOK PC - NG385EAR HP PAVILION DV7-1210ED NOTEBOOK PC - NA048EA#ABH
如果你不需要保留你的行的原始顺序,你可以尝试这样的事情:
- 使用编辑 -> 行操作 -> 按字典序升序对行进行排序
- 确保最后一行以换行符结尾
- 现在我们做一个Find/Replace:
- 查找内容:
^(.*)\r\n(.*?\r\n)
- 替换为:
</code></li> <li>勾选左下方:<strong>正则表达式</strong>和<strong>。匹配换行符</strong></li> <li>如果你的行尾只有 <code>\n
:使用\n
而不是 Find What.[=40= 中的两个\r\n
] - 点击替换或全部替换,点击经常,直到有没有什么可替换的,替换对话框中的状态栏会告诉您。
- 查找内容:
工作原理:
- 排序将重复项按顺序排列,最长的"duplicate"排在最后!
- Find/Replace 考虑两行,其中第一行是第二行的一部分,然后用第二行替换这两行。 (这意味着,如果您有三个重复项:第一个全部替换将保留第二行和第三行,您需要另一个全部替换。)