在jq中使用select和reduce?

在jq中使用select和reduce?,select,jq,reduce,Select,Jq,Reduce,如果我有一个简单的reduce表达式: reduce inputs as $line ([]; . + [$line]) (这大致相当于--slurp:忽略这一点;这只是一个示例) …但我想以某种方式过滤输入 我把选择放在哪里?我不确定我是否完全理解你的问题,但我想这应该行得通 reduce (inputs | select(Your_filter)) as $line ([]; . + [$line]) 我不确定我是否完全理解你的问题,但我想这应该行得通 reduce (inputs |

如果我有一个简单的
reduce
表达式:

reduce inputs as $line
([]; . + [$line])
(这大致相当于
--slurp
:忽略这一点;这只是一个示例)

…但我想以某种方式过滤
输入


我把
选择放在哪里?

我不确定我是否完全理解你的问题,但我想这应该行得通

reduce (inputs | select(Your_filter)) as $line
([]; . + [$line])

我不确定我是否完全理解你的问题,但我想这应该行得通

reduce (inputs | select(Your_filter)) as $line
([]; . + [$line])

在给定的特定情况下,更简单的解决方案是:

[inputs | select(...)]
事实上,通常情况下,使用
reduce
的解决方案可以简化,例如,如此处所示或通过使用一个内置的简化过滤器(尤其是
add


当然,当使用
输入来避免发出咕噜声时,需要使用-n命令行选项。

在给定的特定情况下,更简单的解决方案是:

[inputs | select(...)]
事实上,通常情况下,使用
reduce
的解决方案可以简化,例如,如此处所示或通过使用一个内置的简化过滤器(尤其是
add


当然,当使用
输入来避免发出咕噜声时,需要-n命令行选项。

值得强调的是,此解决方案假定jq已使用-n命令行选项调用。值得强调的是,此解决方案假定jq已使用-n命令行选项调用。您在blog.differentitpla.net/blog/2019/01/11/jq-reduce。错误的句子是以“以下示例返回传递给它的最后一个值”开头的句子:“。您可以通过修改描述以匹配代码来修复它,反之亦然,但在任何情况下,您都可能希望在builtin中提到
last
的定义。jqt在blog.differentitpla.net/blog/2019/01/11/jq-reduce上的有用博文中有一个小错误。错误的句子是以“以下示例返回传递给它的最后一个值”开头的句子:“。您可以通过修改描述以匹配代码来修复它,反之亦然,但在任何情况下,您都可能希望在builtin.jq中提到
last
的定义