Я хотел бы добавить некоторые данные из файла в канал, который был конвейером в stdout.
Существуют различные способы сделать это, в зависимости от оболочки, а также отверсия JQ, которую вы используете.
Предполагая, что ваш jq поддерживает опцию --argfile, вы можете обнаружить, что это очень удобно:
cat /tmp/a1 | jq --argfile a2 /tmp/a2 '. + $a2'
Вот еще один вариант, который предлагает некоторые другие возможности:
jq -n --argfile a1 <(cat /tmp/a1) --argfile a2 <(cat /tmp/a2) '$a1 + $a2'
Более интересно:
(cat /tmp/a1 ; cat /tmp/a2) | jq '. + input'
И, наконец, подход, который должен работать для каждой версии jq:
jq -s '.[0] + .[1]' <(cat /tmp/a1) /tmp/a2
В общем, хотя лучше избегать -s
опция.