生成大于 n 的值的输出并忽略 JQ 中的其余部分

Dis*_*ame 4 json jq

我试图仅显示第二个值大于 1000 的行。我用来显示所有内容的原始 JQ 程序是:

jq -r '.[] | [.name, .size] | join(",")' file.json
Run Code Online (Sandbox Code Playgroud)

这给了我:

name1,1024
name2,300
name3,512
Run Code Online (Sandbox Code Playgroud)

如果我选择仅大于 1000 的值:

jq -r '.[] | [.name, .size | select(. > 1000)] | join(",")' file.json
Run Code Online (Sandbox Code Playgroud)

然后我得到:

name1,1024
name2
name3
Run Code Online (Sandbox Code Playgroud)

如何丢弃大小小于 1000 的行?

ogu*_*ail 8

选择对象,而不是字段。

.[] | select(.size > 1000) | [.name, .size] | join(",")
Run Code Online (Sandbox Code Playgroud)

在线演示