如何将 bash 变量传递给 awk 脚本
How to pass bash variables to awk script
# 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"}}
不要在字符串中嵌入变量:
awk -v idx="$index" -v type="$type" 'BEGIN{print "{\"create\": {\"_index\":\"" idx "\", \"_type\":\"" type "\"}}"} {print} END {print ""}'
您不能使用 index
作为 awk 变量名,顺便说一句,因为那是 awk 函数的名称。
# 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"}}
不要在字符串中嵌入变量:
awk -v idx="$index" -v type="$type" 'BEGIN{print "{\"create\": {\"_index\":\"" idx "\", \"_type\":\"" type "\"}}"} {print} END {print ""}'
您不能使用 index
作为 awk 变量名,顺便说一句,因为那是 awk 函数的名称。