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

如何在VS Code中按条件将YAML文件指定内容转为大写?

批量将YAML中value:后的内容转为大写的方法

原YAML内容

field_map:
      assess_1:
        type: column
        value: assess_1
      assess_10:
        type: column
        value: assess_10

期望效果

field_map:
      assess_1:
        type: column
        value: "ASSESS_1"
      assess_10:
        type: column
        value: "ASSESS_10"

方法一:用sed命令快速处理(适合简单结构)

直接在终端执行以下命令,把input.yaml替换成你的目标文件路径,处理后的内容会输出到output.yaml:

sed -E 's/(value: )([a-z0-9_]+)/\1"\U\2"/' input.yaml > output.yaml

命令逻辑:匹配value: 后的小写字母、数字和下划线组合,将这部分内容转为大写并包裹双引号,其余内容保持不变。

方法二:用Python脚本处理(适合复杂结构)

如果你的YAML存在多层嵌套、value内容含特殊字符等复杂情况,用专业YAML解析工具更稳妥:

  1. 先安装PyYAML库(未安装过的话执行):
pip install pyyaml
  1. 创建脚本文件uppercase_yaml_values.py,内容如下:
import yaml

# 读取原YAML文件
with open('input.yaml', 'r') as f:
    yaml_data = yaml.safe_load(f)

# 遍历field_map下的所有项,将value转为大写
for item in yaml_data.get('field_map', {}).values():
    if 'value' in item:
        item['value'] = item['value'].upper()

# 将处理后的数据写入新文件,保留原缩进格式
with open('output.yaml', 'w') as f:
    yaml.dump(yaml_data, f, sort_keys=False, indent=6)
  1. 运行脚本完成处理:
python uppercase_yaml_values.py

该方法会严格解析YAML结构,避免正则匹配可能出现的格式错误,适配更多复杂场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 06:03:15