【发布时间】:2021-10-25 08:44:31
【问题描述】:
我有以下变量:
tags = {
environment = "development",
provider = "ServiceOne",
ansible_role = "nfs-role",
comment = "mysql"
}
在我的管道中,我需要将其转换为以下内容:
tfh pushvars -overwrite-all -dry-run false -hcl-var "tags={environment=\"development\", provider=\"ServiceOne\", ansible_role=\"nfs-rolep\",comment= \"mysql\"}"
我尝试了 SED 和 AWK,但没有得到任何结果?
这就是我现在站的地方:
#!/bin/bash
#[[ -z "$2" ]] && echo "==> Usage: ./transform_tfe_vars.sh <<INPUT_FILE>> <<OUTPUT_FILE>>" && exit 1;
vars_file=${1}
#output_file=${2}
tmp_file=".todelete.tmp"
cmd "$vars_file" | grep -v '^#' | awk '!/^$/' > "$tmp_file"
while read -r p; do
a=$(echo "$p" | awk '{print $1}')
b=$(echo "$p" | awk '{print $3}')
echo "tfh pushvars -overwrite-all -dry-run false -shcl-var \"$a=\\""$b""\""
done <$tmp_file
【问题讨论】:
-
是的,我已经添加了输入......它应该看起来像上面的样子
-
你把它变成了一个不同的问题,你接受的我的回答并不完全适用。我把这个问题放回原样 - 如果您需要更多帮助,请提出一个新的后续问题。
-
我创建了一个新问题:stackoverflow.com/questions/68923925/…