【发布时间】:2018-03-29 14:26:24
【问题描述】:
这适用于 regex101.com 等一些工具,但我无法使其与 sed 一起使用。
块:
dn: abcd1,ou=test
aaaaa
bbbb
1111
dn: abcd2,ou=test
33333
ddddd
aaaaa
dn: qwert,ou=test
55555
hhhh
dddd
我想匹配并替换以 dn: abcd 开头的每个块。一个块总是以\n\n结尾。
正则表达式:(?s)\b(?:(?!\n\n).)*?\bdn: abcd\b(?:(?!\n\n).)*
用sed可以实现吗?
【问题讨论】:
-
尝试使用
perl... sed 不支持环视或非捕获组以及 perl 中可用的许多其他功能... -
另外,如果您可以在没有
\n的情况下修改给定的输入样本(假设您有文字换行符而不是\后跟n) - 使用编辑器中的{}按钮来格式化示例而不是反引号..并添加完整的预期输出,这将有助于提出解决方案.. -
@Sundeep 已编辑,谢谢!我不熟悉 perl,有什么想法吗?
标签: sed solaris solaris-10