首页 > 解决方案 > 在模式“字符串”匹配之前和之后添加空白行

问题描述

我试图在字符串模式匹配之前和之后在文本文件(text.txt)中添加 5 个空白行。我使用以下内容在对我有用的“字符串”匹配之后获取空格-

sed '/string/{G;G;G;G;G;}' text.txt

我想应用相同的 sed 命令在“字符串”之前获取 5 个空行这里我不想要空格,而是在它们之前和之后的空行。有什么建议么?

标签: regexlinuxsed

解决方案


sed -r 's/(^.*)(string)(.*$)/\1\n\n\n\n\n\2\n\n\n\n\n\3/' text.txt

使用 -r 或 -E 允许正则表达式,将喜欢分成三个部分,然后用该行替换第一部分,5 个新行,第二个部分,5 个新行,最后是第三个部分。


推荐阅读