我有一个带有示例值的JSON文件:
现在我想要的是返回md5值,例如文件名为"FOO"。为此,我在jq中有以下语句:
然而,返回的响应是:
{
"files": [{
"fileName": "FOO",
"md5": "blablabla"
}, {
"fileName": "BAR",
"md5": "alaldlafj"
}]
}
现在我想要的是返回md5值,例如文件名为"FOO"。为此,我在jq中有以下语句:
cat <file>.json | jq '.[] | select(.fileName=="FOO")'
然而,返回的响应是:
jq: error (at <stdin>:11): Cannot index array with string "fileName"
正确的方法是如何返回md5值,其中键fileName等于某个参数?
jq -r '.files[] | select(.fileName=="FOO") | .md5' <file.json>
。 - Brent D.cat
开头的严格从左到右的结构,特别是涉及管道时。 - bitinerant<file.json jq -r '.files[] | select(.fileName=="FOO") | .md5'
。 - Scott Centoni