【发布时间】:2017-08-03 13:57:05
【问题描述】:
您好,我的 shell 和 jq 有问题。
我有文件,比如 text.txt,它只包含 JSON,比如 {"rows":[{"example":"20"}]}。 我需要在 shell 中编写一个脚本,该脚本将读取此文本文件作为第一个参数,并将来自该 JSON 的“示例”的值存储在变量中, 使用 jq。
这是我目前所拥有的,但它只是打印出一个空行:
file=$( readlink -f "$1" )
variable="$file" | jq -j ".rows[].example"
echo "$variable"
对我来说有趣的是这段代码可以正常工作
file=$( readlink -f "$1" )
cat "$file" | jq -j ".rows[].example"
表示它将打印出 20。
有谁知道我做错了什么。 谢谢各位
【问题讨论】:
-
"$file" | jq -j ".rows[].example"和cat "$file" | jq -j ".rows[].example"不一样...你为什么会期待别的呢? -
@Fredegar - 如果数组包含多个项目怎么办?