如果我有一个简单的reduce
表达式:
reduce inputs as $line
([]; . + [$line])
(这大致相当于--slurp
:忽略它;这只是一个示例)
...但是我想以某种方式过滤inputs
。
我将select
放在哪里?
答案 0 :(得分:2)
我不确定我是否完全理解您的问题,但是我想这应该可以解决
reduce (inputs | select(Your_filter)) as $line
([]; . + [$line])
答案 1 :(得分:0)
在给定的特定情况下,一个更简单的解决方案是:
[inputs | select(...)]
实际上,经常可以简化使用reduce
的解决方案,例如如此处所示或使用内置的归约过滤器之一(尤其是add
)。
当然,当使用inputs
来避免大声疾呼时,需要-n命令行选项。