帮助使用 sed

帮助使用 sed

我有一个名为“custom.conf”的文件

在这个文件中我有

[globals]


[guest]

我想要做的是在 [globals] 之后插入这一行

#include = HKRoomStat.conf
#include = HKRoomStatFuncODBC.conf

并在 [guest] 之后插入此行

include = room_stat

我有这个代码

sed  -i '/'[globals]'/a #include = HKRoomStat.conf' custom.conf
sed  -i '/#include = HKRoomStat.conf/a #include = HKRoomStatFuncODBC.conf' custom.conf
sed  -i '/'[guest]'/a include = room_stat' custom.conf

但是当我在 cli 上运行这个时,我得到了这个结果

[globals]
include = room_stat
#include = HKRoomStat.conf
include = room_stat
#include = HKRoomStatFuncODBC.conf
include = room_stat

[guest]
include = room_stat
#include = HKRoomStat.conf
include = room_stat
#include = HKRoomStatFuncODBC.conf
include = room_stat

我刚刚开始学习 sed。任何帮助将不胜感激。先谢谢了

答案1

追加行的方法是通过a\sed 命令。这种方式在视觉上非常直观地说明要添加多少行以及它们是什么。

sed -i -e '
  /\[globals]/a\
#include = HKRoomStat.conf\
#include = HKRoomStatFuncODBC.conf

  /\[guest]/a\
include = room_stat
' custom.conf

相关内容