如何使用sed注释和在配置文件中添加行

我正在寻找一种实现以下目标的方法:

某个目录包含4个(配置)文件:

  • 文件1
  • 文件2
  • 文件3
  • 文件4

我希望我的bash脚本逐个读取每个文件。在每个文件中,查找以“ params:”开头的特定行。我想注释掉这一行,然后在下一行中输入“ params:根据我的意愿更改”。

我知道有很多方便的工具,例如sed可以帮助完成这些任务。因此,我尝试了一下:

sed -ri 's/params:/^\\\\*' File1.conf
sed -ri '/params:/params: changed according to my will' File1.conf

问题:第一行是否真的params:\\随着params:找到的整行的副本替换了正则表达式我不确定我可以在这里使用*。

好吧,我如何实现对所有4个文件都执行这些命令?

单独

因此,此命令将注释文件中每行开头params:的内容,并在下一行中添加文本

sed -E -i 's/^(params:.*)$/\/\/\1\nYOUR NEW LINE HERE/g'

该模式^(params:.*)$将匹配以params:开头的任何整行,并且圆括号表示这是一个捕获组。

然后,它在sed命令的第二部分via中使用\1,它是找到的第一个捕获组的参考。因此,您可以看到第二部分注释第一行,添加一个换行符,最后是您的文本。

您只需执行以下操作即可对所有文件执行此操作 sed -E -i 's/^(params:.*)$/\/\/\1\nYOUR NEW LINE HERE/g' file1 file2 file3 file4

希望这可以帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章