# My vars
index=test
type=book
我正在尝试将这些变量传递给awk
awk -v index="$index" -v type="$type" 'BEGIN{print "{\"create\": {\"_index\":\"index\", \"_type\":\"type\"}}"}; {print}; END {printf "\n"}'
期望的输出
{"create": {"_index":"test", "_type":"book"}}
答案 0 :(得分:1)
不要将变量嵌入字符串中:
awk -v idx="$index" -v type="$type" 'BEGIN{print "{\"create\": {\"_index\":\"" idx "\", \"_type\":\"" type "\"}}"} {print} END {print ""}'
您不能将index
用作awk变量名称btw,因为这是awk函数的名称。