如果在括号内重复,请删除其中一行

时间:2014-03-14 12:43:24

标签: regex text formatting notepad++ sublimetext

嗨我有很长的项目清单(~6k),有这种格式:

'Entry': ['Entry'],

我想做的是,如果在第一个括号内,单词匹配,即:

'ACT': ['KOSOV'],

'ACT': ['STIG'],

我希望它只留下其中一个条目,无论哪个条目第一个是第二个或其他什么,我只需要它留下其中一个。

如果可能的话,我希望通过sublime或notepad ++使用regexp实现这一点,如果没有办法,那么你可以做任何你认为最好的解决方案。

UPD:AWK命令确实完成了工作,谢谢

1 个答案:

答案 0 :(得分:1)

您无法仅使用正则表达式解决此问题。您需要记住您在扫描文本时到目前为止所看到的所有条目(可能需要编写一个小型实用程序),或者您可以对条目进行排序,然后删除任何重复的条目。

如果您有一个已排序的文件,那么您可以使用正则表达式解决它,例如:

^(([^:]+):.+\n)(?:\2.+\n)+

替换为\1。查看行动here