gpt4 book ai didi

list - 查找并保留文本文件中的所有重复行(而不是唯一行)

转载 作者:行者123 更新时间:2023-12-05 00:14:30 28 4
gpt4 key购买 nike

我的目标是识别并保留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: History.与其他Notepad ++问题(包括 @AdrianHHH等人(错误地)引用的一个 https://stackoverflow.com/questions/29303148)相比,该问题的“广泛性”(事实上,很难说得更具体)或研究较少。同样的问题。

更新:
@AdrianHHH@AdrianHHH@B. Desai@Paolo Forgia@greg-449
这个问题不同于:
@Erik von Asmuth
因为Q https://stackoverflow.com/questions/29303148是(i)既不询问如何识别并仅保留多次出现的行,(ii)答案中也没有提供解决方案。问 29303148问“ ...我只需要唯一的行。”

最佳答案

这是一个基于正则表达式和书签的解决方案,它适用于已排序的文件(即,每条重复的行后均带有重复项):


打开标记对话框(搜索->标记...。)
点击右侧的清除所有标记
检查书签行
检查包裹
查找内容:((.*)\R(\2\R?)+)*\K.*
检查正则表达式,然后取消选中. matches newline
全部标记
点击关闭
搜索->书签->删除书签行


说明

正则表达式由三部分组成:


((.*)\R(\2\R?)+)*:这是一个可选的重复块,由一个或多个行块组成


外部( ... )*匹配零个或多个此类重复行(如果在您的示例中,三个4后跟两个5,我们将需要一个重复块序列的概念)
(.*)\R(\2\R?)+\2引用(.*)的内容:这都是一行的重复
第二个\R是可选的(由于?)换行符。因此,如果文件的最后一行没有以换行符结尾,则可以匹配该文件的最后一行


如果从您开始的光标位置后面有重复的行块,则它将匹配它。
现在\K丢弃到目前为止我们已经匹配的内容(重复项),并在第一行唯一行之前“放置光标”
.*匹配下一行(唯一)并将其添加为书签


使用“全部标记”,我们将所有这些独特的行添加为书签,以便可以使用“搜索”->“书签”菜单中的“条目”将其删除。

关于list - 查找并保留文本文件中的所有重复行(而不是唯一行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46727299/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com