Notepad++ 如何使用nodepad+;从两个文件中减去行+;?
我有两个文件(A和B),我想从A中减去B的行 也就是说,给定这些文件: 文件A:Notepad++ 如何使用nodepad+;从两个文件中减去行+;?,notepad++,Notepad++,我有两个文件(A和B),我想从A中减去B的行 也就是说,给定这些文件: 文件A: line1 line2 line3 line4 和文件B: line2 line4 结果将是: line1 line3 这些行在文件中是分开的,它们彼此不对齐 如何使用notepad++?您可以手动合并两个文件,然后应用一些regexp 想象文件“A”中有以下几行: abc def ghi jkl mno pqr stu vwx abc mno vwx 并在文件“B”中减去以下几行: abc def gh
line1
line2
line3
line4
和文件B:
line2
line4
结果将是:
line1
line3
这些行在文件中是分开的,它们彼此不对齐
如何使用notepad++?您可以手动合并两个文件,然后应用一些regexp 想象文件“A”中有以下几行:
abc
def
ghi
jkl
mno
pqr
stu
vwx
abc
mno
vwx
并在文件“B”中减去以下几行:
abc
def
ghi
jkl
mno
pqr
stu
vwx
abc
mno
vwx
将它们合并到一个文件下,并将内容与至少20个@
分开,如下所示:
abc
def
ghi
jkl
mno
pqr
stu
vwx
@@@@@@@@@@@@@@@@@@@@
abc
mno
vwx
现在应用此regexp:
搜索:^([^\n\r]+)\r(?=[\s\s]+^@{20,}$[\s\s]*^\1$)
替换为(无)
搜索方法:正则表达式
全部替换
结果将是:
def
ghi
jkl
pqr
stu
@@@@@@@@@@@@@@@@@@@@
abc
mno
vwx
现在只需删除第二个文件的内容
重要提示:
为了使其工作,您需要一个在这两个文件中的任何一个上都找不到的“唯一”分隔符。为此,我使用了
@@@@@@@@@@@@@@@@
,但如果您认为可以在其他地方找到此方法,则应将解决方案更改为使用其他分隔符(用于合并文件和使用正则表达式)它们是否共享某些属性?不,它们不共享。如果我理解正确,您有两个文件(一个有14 mil行,另一个有1 mil行)你想删除14 mil行文件中的1 mil行吗?这不是Npp的工作,你最好用你最喜欢的脚本语言编写一个脚本。是的@cincout我对编写脚本一无所知