【发布时间】:2018-03-25 10:27:13
【问题描述】:
我的目标是识别并保留 DUPLICATE、TRIPLICATE 等行,即在 Notepad++ 中多次出现的所有行?换句话说,我怎样才能只删除所有唯一的行?
例如,这里有七 (7) 个单独的列表以及每个列表所需的真实重复行(显示为 7 列,将每列视为单独的列表或文件!)。 (这里的列表并排显示只是为了节省空间,在现实生活中,7 个列表中的每一个都单独出现,独立于其他列表,并且是单独的文件!)
list1 list2 list3 list4 list5 list6 list7
1 0 0 0 0 0 0
2 1 1 1 1 1 1
3 2 2 2 2 2 2
4 3 3 3 3 3 3
4 4 4 4 4 4 4
4 4 4 4 4 4 4
5 4 4 4 4 4 4
6 5 5 5 5 5 5
7 5 5 5 5 5 5
8 6 6 6 6 6 6
9 6 6 6 6 6 6
abc 7 7 7 7 7 7
abd 8 8 8 8 8 8
abd 9 9 9 9 9 9
abe <CR> 9 9 9 9
<CR> 99 99
<CR>
[Lines of multiple occurence of above lists:]
4 4 4 4 4 4 4
4 4 4 4 4 4 4
4 4 4 4 4 4 4
abd 5 5 5 5 5 5
abd 5 5 5 5 5 5
6 6 6 6 6 6
6 6 6 6 6 6
9 9 9 9
9 9 9 9
消除重复的解决方案有很多(例如,TextFX;notepad++ delete duplicate and original lines to keep unique lines),我找不到保留重复的解决方案。
((.*)\R(\2\R)+)*\K.+\R
@Lars Fischer:这个脚本几乎可以正常工作,除了(预排序的)列表的最后一个条目需要是唯一行,后跟 <CR> 空行。一种(次优)解决方法是插入一个人工(辅助)唯一行(例如 zzz),然后插入一个空行 <CR> 作为最后两行。
(问题结束)
更新 3:此问题根据 stackoverflow "ask a new question" 指令重新发布。 (@AdrianHHH、@B. Desai、@Paolo Forgia、@greg-449、@Erik von Asmuth 得出错误结论,即该问题与notepad++ delete duplicate and original lines to keep unique lines 重复。此问题绝对不是@AdrianHHH 等问题的重复引号。
更新 2:@AdrianHHH 这个问题并不比其他 Notepad++ 问题更“广泛”(事实上,几乎不可能更具体)或研究更少,包括@AdrianHHH 引用的https://stackoverflow.com/questions/29303148(错误地)等。作为同一个问题。
更新: @AdrianHHH, @B. Desai, @Paolo Forgia, @greg-449, @Erik von Asmuth 这个问题不同于: https://stackoverflow.com/questions/29303148 因为 Q 29303148 是 (i) 既没有询问如何识别和只保留多次出现的行,(ii) 也没有在答案中提供解决方案那。 Q 29303148 问“...我只需要独特的线条。”
【问题讨论】:
标签: list sorting text duplicates notepad++