如何移除Terraform输出值中的括号与引号,提取数组元素导出为CSV
Terraform 数组输出去引号导出纯值解决方案
方法1:修改输出配置直接生成纯文本
直接调整output块的配置,将数组拼接为换行分隔的字符串,无需后续额外处理:
output "localvar" { value = join("\n", local.vnetnames) type = string }
执行apply后,运行以下命令直接导出纯值到CSV文件:
terraform output -raw localvar > vnet_names.csv
方法2:不改现有配置,通过命令行工具处理
如果不想修改原有Terraform代码,可直接使用terraform output结合jq工具提取纯值:
terraform output -json localvar | jq -r '.[]' > vnet_names.csv
参数说明:
-json:将输出结果转为JSON格式- jq的
-r参数:输出原始字符串,自动去掉包裹的引号 .[]:遍历数组内所有元素
两种方法最终生成的文件内容都符合纯值换行格式,可直接供其他文件读取使用。
内容的提问来源于stack exchange,提问作者kanmani1303
相关产品推荐
相关产品推荐

