json - Linux grep命令从json中查找key的值

标签 json linux shell curl grep

我有一个 JSON 输出,其中包含存储在变量中的对象列表。(我可能措辞不正确)

curl 命令的输出:将在评论中发布,因为我无法在此处发布

我想 grep 输出中显示的“ad6743fae9c54748b8644564c691ba58”位置的值,每次运行 curl 命令时都会更改。我希望它作为输入传递给其他 curl 命令。

请帮忙

最佳答案

"jq"https://stedolan.github.io/jq/download/ 为此是必需的。如果对于“ad6743fae9c54748b8644564c691ba58”,本身每次都改变,下面的脚本怎么样?

of="data.json" && curl ..... -o $of > $of && key=$(cat $of | jq -r '.destination[0]|keys' | jq -r '.[]') && jq -r ".destination[0].$key" $of && unset key of
  • curl 得到的数据输出为“$of”的名称。

  • “ad6743fae9c54748b8644564c691ba58”的位置被检索为“$key”。

  • 使用“$key”输出“ad6743fae9c54748b8644564c691ba58”的值。

例如,在这个脚本中,当“ad6743fae9c54748b8644564c691ba58”的位置不变时,“ad6743fae9c54748b8644564c691ba58”可以改为“abcdefg1234567”。

关于json - Linux grep命令从json中查找key的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41788116/

相关文章:

linux - 无法从 guest 虚拟机上的 tomcat 获取 http(nat 连接)

linux - 将 VPS 上的 Linux 分区与 CentOS 和 Plesk 合并

linux - 在一个命令中将具有相同名称的文件复制到它们自己的位置

linux - 使用 shell 脚本搜索单词并导出该单词后的 35 个字符?

javascript - Three.js 和 Angular4 以及 JSONLoader

javascript - Telerik 数据源 Json 服务器分页不起作用

javascript - 单击按钮时输出特定的 JSON

json - 使用 jq 将 boolean 值添加到 csv 数组

shell - sh 和 ksh 之间不同的管道行为

linux - 有没有办法将以下逻辑放入 grep 命令中?