如何从curl响应中提取enabled字段?jq命令不可用
无jq环境下提取JSON中enabled字段的值
针对你提供的JSON响应:
response = {"response":[{"id":"0-0","enabled":true}]}
以下是几种无需jq即可提取enabled字段值的可行方法:
改进版grep命令:适配布尔值(无引号)的场景
echo "$response" | grep -o '"enabled":[^,}]*' | grep -o '[^:]*$'说明:第一个grep匹配
"enabled":后到逗号/大括号的所有内容,第二个grep提取冒号后的目标值。awk命令:通过分割字符定位值
echo "$response" | awk -F'"enabled":' '{print $2}' | awk -F'[,}]' '{print $1}'说明:先以
"enabled":分割字符串取后半段,再以逗号或大括号分割取第一段,得到enabled的值。sed命令:正则捕获目标内容
echo "$response" | sed -n 's/.*"enabled":\([^,}]*\).*/\1/p'说明:用正则表达式捕获
"enabled":后到逗号/大括号之间的内容,直接输出捕获的结果。
内容的提问来源于stack exchange,提问作者lalala
相关产品推荐
相关产品推荐

