美文网首页
Linux 文件处理——在指定行下面写入内容

Linux 文件处理——在指定行下面写入内容

作者: 顽强的猫尾草 | 来源:发表于2018-05-30 21:34 被阅读6次

需求

需要用 grains 来匹配一个 minion 的类型,但是原本的 minion 配置文件中已经有了 grains 这个 ID:

    grains:
      roles:
        - webserver
        - memcache
      deployment: datacenter4
      cabinet: 13
      cab_u: 14-15

因此不能单纯地在文件末尾拼接上想要的属性:

    grains:
      custom: ubuntu

否则就会引起冲突:

我们需要先定位到文件中的 grains:,接着在下一行添加上文的两行内容,变成这样:

    grains:
      custom: ubuntu
      roles:
        - webserver
        - memcache
        - ubuntu
      deployment: datacenter4
      cabinet: 13
      cab_u: 14-15

解决

使用正则匹配定位到 roles: (文件中的 roles 有很多个,但 roles: 可以保证只有一个),在它下面一行插入内容:

sed -i '/grains:/a\      custom: ubuntu' minion

查看结果:

修改成功。

相关文章

网友评论

      本文标题:Linux 文件处理——在指定行下面写入内容

      本文链接:https://www.haomeiwen.com/subject/iubxsftx.html