Использование выбора с уменьшением в JQ? - PullRequest
0 голосов
/ 16 января 2019

Если у меня есть простое reduce выражение:

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

(это примерно эквивалентно --slurp: игнорируйте это; это всего лишь пример)

... но я хочу как-то отфильтровать inputs.

Куда мне положить select?

Ответы [ 2 ]

0 голосов
/ 08 июня 2019

В данном конкретном случае более простое решение:

[inputs | select(...)]

На самом деле, часто бывает так, что решение, использующее reduce, может быть упрощено, например, как здесь или с помощью одного из встроенных фильтров уменьшения (особенно add).

Конечно, если вы используете inputs, чтобы избежать ошибок, необходим параметр командной строки -n.

0 голосов
/ 16 января 2019

Я не уверен, что полностью понимаю ваш вопрос, но думаю, это должно сработать

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