select(.key="value") 甚至发出不匹配的项目
select(.key="value") emits even non-matching items
我有以下test.json
{"type":"RECORD","record":{"key_A": "apples","key_B":"bananas"}}
{"type":"RECORD","record":{"key_A": "apples","key_B":"oranges"}}
然后看下面的命令和输出。
cat test.json | jq 'select(.record.key_B="oranges")'
{
"type": "RECORD",
"record": {
"key_A": "apples",
"key_B": "bananas"
}
}
{
"type": "RECORD",
"record": {
"key_A": "apples",
"key_B": "oranges"
}
}
我希望它只输出匹配 select 的记录 - .record.key_B = oranges 所以只有第一条记录。我该怎么做?
=
是赋值运算符。 ==
是一个 equality-comparison 运算符。
你想要select(.record.key_B == "oranges")
.
我有以下test.json
{"type":"RECORD","record":{"key_A": "apples","key_B":"bananas"}}
{"type":"RECORD","record":{"key_A": "apples","key_B":"oranges"}}
然后看下面的命令和输出。
cat test.json | jq 'select(.record.key_B="oranges")'
{
"type": "RECORD",
"record": {
"key_A": "apples",
"key_B": "bananas"
}
}
{
"type": "RECORD",
"record": {
"key_A": "apples",
"key_B": "oranges"
}
}
我希望它只输出匹配 select 的记录 - .record.key_B = oranges 所以只有第一条记录。我该怎么做?
=
是赋值运算符。 ==
是一个 equality-comparison 运算符。
你想要select(.record.key_B == "oranges")
.