使用sed命令在yaml文件内容的子模式下添加属性

问题描述 投票:0回答:1

这是我的yaml文件的内容

web:
   image: apache
   volumes:
      - "./app:/src/app"
   ports:
      # - add ports here

我需要使用type命令在web下添加一个属性sed。 预期产量:

web:
   image: apache
   volumes:
      - "./app:/src/app"
   ports:
      # - add ports here
   type: none

我们如何通过使用od sed命令来实现这一目标。我经常尝试使用sed -r 's/^web (type\s*:\s*\s*$)/\1type: none/' file_name这个命令,但它需要type已存在于数据中。但我必须在web下为数据添加新属性

bash sed yaml
1个回答
0
投票

这不是一个干净的解决方案,但如果评论

# - add ports here

保持这样,您可以在该行之后添加它:

sed -i '/# - add ports here/a \ \ \ type: none' your_file

这也将添加适量的空间。

© www.soinside.com 2019 - 2024. All rights reserved.