如何将部分 JSON 分配给脚本变量

如何将部分 JSON 分配给脚本变量

所以我有一个 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 -aawk '{ 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

相关内容