gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 11:06:40 26 4
gpt4 key购买 nike

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

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

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

我希望我的 bash 脚本逐个读取每个文件。在每个文件中,查找以“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: 开头的任何整行,括号表示这是一个捕获组。

然后,它通过 \1 在 sed 命令的第二部分中使用,这是找到的第一个捕获组的引用。所以你可以看到第二部分注释第一行,添加一个换行符,最后是你的文本。

你可以简单地通过 sed -E -i 's/^(params:.*)$/\/\/\1\nYOUR NEW LINE HERE/g' file1 file2 为你的所有文件执行这个文件3 文件4

希望这对您有所帮助!

关于linux - 如何使用 sed 在配置文件中注释和添加行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58304507/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com