所以我有一个 JSON 文件,我可以从中 grep 某些变量:
cat myfile | grep -E "group_(var1|var2|var3)"
输出结果如下:
"group_var1": "value1"
"group_var2": "value2"
"group_var3": "value3"
我想在我的 bash 脚本中解释这一点,以便我最终得到这三个变量本身,以便我可以进一步操作它们。
例如
echo "$group_var1 $group_var2 $group_var3"
到目前为止,我已经尝试过read -a
,awk '{ print $1 $2 }'
但都没有让我更接近我想要的结果。
我所能做的就是用下面的代码删除引号,但之后我就陷入了困境:
params=`cat myfile | grep -E "group_(var1|var2|var3)"`
params=${params//\"}
回应参数现在给了我这个:
group_var1:value1,group_var2:value2,group_var3:value3,
但现在我被困住了......
编辑和解决方案:
我进一步挖掘,并通过对我想要的每个变量粗略地调用 awk 来使其工作。
group_var1=`awk '$1=="group_var1:" { sub(",", "", $2); print $2 }' <<< $params