【发布时间】:2018-11-21 17:55:31
【问题描述】:
我有一个包含一堆文本文件的目录,所有文件都遵循以下结构:
...
- Some random number of list items of random text
- And even more of it
PATTERN_A (surrounded by empty lines)
- Again, some list items of random text
- Which does look similar as the first batch
PATTERN_B (surrounded by empty lines)
- And even more some random text
....
并且我需要仅对位于 PATTERN_A 和 PATTERN_B 之间的那些“列表项”运行替换操作(比如说,我需要在行首添加 CCC,就在破折号之后)。问题是它们与 PATTERN_A 上方或 PATTERN_B 下方的文本并没有太大区别,因此普通的正则表达式无法真正捕获它们而不影响其余文本。
那么,我的问题是,我应该使用什么工具和什么正则表达式来执行替换?
(以防万一,我对 Vim 没问题,例如,我可以在 QuickFix 中收集这些文件以进一步获取 :cdo。不幸的是,我对 awk 不是很好,对 Perl 绝对不好:))
谢谢!
【问题讨论】:
-
您可以发布示例输出吗?