在包含数字范围(4-5,12-20)的文件中,我想替换所有"数字编号+ 1"范围由"数字f。" (45-46> 45 f。)。
任何想法如何实现?对不起,如果之前已经介绍过,直到现在我什么也没找到。
答案 0 :(得分:3)
由于这个条件(M + 1 = N)很难用正则表达式表达,这是:help sub-replace-expression
的情况:匹配所有数字范围,通过{{1将它们分成开始和结束数字捕获组。然后在\(...\)
替换表达式中,检查条件,通过\=
访问数字,然后返回原始结果(submatch()
)或精简表单。
submatch(0)
答案 1 :(得分:0)
如果已创建文件,请使用GREP命令解析文件并使用SED命令进行替换。或者使用find。我确信这两种方式都在这里。