首页 > 解决方案 > bash 在一组行中追加行

问题描述

为澄清而编辑 我有一个包含内容的文件

Group1
LineA
LineB
LineC


Group2
LineA
LineB
LineC


Group3
LineA
LineB
LineC

我想在一个组中插入一个特定的模板。假设我调用一个函数insertAtGroup 2 D,最终结果应该是

Group1
LineA
LineB
LineC


Group2
LineA
LineB
LineC
LineD

Group3
LineA
LineB
LineC

我用 sed 试过了,但我无法让它工作

标签: bashawksed

解决方案


使用 perl 使用“段落模式”

perl -p00e 's/$/LineD\n/ if /^Group2/' file.txt

如果要就地编辑添加-i标志

perl -i -p00e 's/$/LineD\n/ if /^Group2/' file.txt

推荐阅读