regex - 在模式“字符串”匹配之前和之后添加空白行
问题描述
我试图在字符串模式匹配之前和之后在文本文件(text.txt)中添加 5 个空白行。我使用以下内容在对我有用的“字符串”匹配之后获取空格-
sed '/string/{G;G;G;G;G;}' text.txt
我想应用相同的 sed 命令在“字符串”之前获取 5 个空行这里我不想要空格,而是在它们之前和之后的空行。有什么建议么?
解决方案
sed -r 's/(^.*)(string)(.*$)/\1\n\n\n\n\n\2\n\n\n\n\n\3/' text.txt
使用 -r 或 -E 允许正则表达式,将喜欢分成三个部分,然后用该行替换第一部分,5 个新行,第二个部分,5 个新行,最后是第三个部分。
推荐阅读
- scala - Why does Spark infer a binary instead of an Array[Byte] when creating a DataFrame?
- ruby-on-rails - 选择可以呈现自定义函数的有效模板解决方案
- vuejs2 - 如何将回调添加到子组件更新时触发的 Vue 根
- javascript - 状态改变后 React 渲染相同的谷歌地图
- c# - How To Let A Grid Capture The Mouse, But Still Allow It's Children To Handle Click Events
- javascript - 方法算作函数表达式吗?
- prolog - How not to show if there is same result occurs more than once- Prolog
- java - 在每行包含特定信息的文件中读取有点麻烦
- installation - 运行时的Visual Studio代码“启动json”,如何将调试控制台设置为默认值
- javascript - Unhandled Rejection (TypeError): Cannot read property 'Symbol(Symbol.iterator)' of undefined