Поддерживает ли jq несколько параметров -f? - PullRequest
0 голосов
/ 27 октября 2019
==> main.jq <==
def myflattern:
  .[];

==> main2.jq <==
myflattern

Учитывая вышеупомянутые файлы jq, я вижу следующий вывод. То есть jq не поддерживает несколько -f? Спасибо.

$ jq -f main.jq -f main2.jq <<EOF
[ "a", "b", "c" ]
EOF
parse error: Invalid numeric literal at line 2, column 0

$ jq -f <(cat main.jq main2.jq) <<EOF
[ "a", "b", "c" ]
EOF
"a"
"b"
"c"

1 Ответ

3 голосов
/ 27 октября 2019

Как отмечает @OguzIsmail, jq не поддерживает более одного вхождения -f за вызов, но потенциально существует два (дополнительных) обходных пути:

  1. Если ваша оболочкаЭто позволяет использовать замену процесса:

    jq -f <(cat ....) ...

  2. Вы можете использовать систему модулей jq.

Обратите внимание, что в jq-программе может быть только один «основной» и что jq-модули могут включать только определения функций.

...