You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将多条修改YAML资源配置的SED -E命令合并为单条?

合并多条sed命令修改YAML资源配置

你可以通过sed的-e选项将多条编辑命令合并为单条执行,也可以通过分组操作优化命令效率,以下是两种可行方案:

方案1:直接串联原命令

将每条原sed命令作为一个-e参数传入,即可合并为单条命令:

sed -E -e '/limits:/!b;n;s/^([[:blank:]]*cpu: ).*/\1900m/' \
       -e '/limits:/!b;n;n;s/^([[:blank:]]*memory: ).*/\1900Mi/' \
       -e '/requests:/!b;n;s/^([[:blank:]]*cpu: ).*/\1700m/' \
       -e '/requests:/!b;n;n;s/^([[:blank:]]*memory: ).*/\1500Mi/' mychart.yaml

方案2:分组优化(更高效)

通过大括号{}将匹配到目标节点后的操作分组,避免重复匹配limits:和requests:,提升执行效率:

sed -E -e '/limits:/{n;s/^([[:blank:]]*cpu: ).*/\1900m/;n;s/^([[:blank:]]*memory: ).*/\1900Mi/}' \
       -e '/requests:/{n;s/^([[:blank:]]*cpu: ).*/\1700m/;n;s/^([[:blank:]]*memory: ).*/\1500Mi/}' mychart.yaml

注意事项

  • 先不加-i参数运行命令,确认输出符合预期后,再添加-i(或-i.bak保留原文件备份)直接修改原文件:
    sed -i.bak -E -e '...' mychart.yaml
    
  • 确保YAML文件的缩进格式与命令匹配,命令中的[[:blank:]]会匹配空格或制表符,适配常见的YAML缩进风格。

内容的提问来源于stack exchange,提问作者Seun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 14:40:33