管道输出时,jq打印帮助

时间:2018-04-30 11:29:40

标签: json bash

当我尝试管道输出时,

JQ 1.5.3打印帮助:

$ export ZK=x
$ echo '{"jvm":{"value":"x"}}'  | jq -c --arg ZK="$ZK" 'select(.jvm.value | contains("$ZK"))' | tail -n 1
jq - commandline JSON processor [version 1.5]
Usage: jq [options] <jq filter> [file...]

    ...

但是这种行为只有在我使用--arg选项时才会发生。当我使用硬编码值时,它不会发生:

$  echo '{"jvm":{"value":"x"}}'  | jq -c 'select(.jvm.value | contains("x"))' | tail -n 1
{"jvm":{"value":"x"}}

在没有管道输出的情况下使用--arg选项时也不会发生这种情况,即打印到标准输出:

$  echo '{"jvm":{"value":"x"}}'  | jq -c --arg ZK="$ZK" 'select(.jvm.value | contains("$ZK"))'
{"jvm":{"value":"x"}}

我已阅读有关similar issue on GitHub的内容,但他们的解决方法没有帮助。

echo '{"jvm":{"value":"x"}}'  | jq -c --arg ZK="$ZK" 'select(.jvm.value | contains("$ZK"))' | jq . -M | tail -n 1

如何管道jq工具的输出?

0 个答案:

没有答案