Jq: 从文件提供 jq 过滤程序?

创建于 2014-02-15  ·  4评论  ·  资料来源: stedolan/jq

我想为 jq 提供一个过滤程序,以便它从文件中读取,例如:

jq my-awesome-filter.jq whatever.json

或这个:

jq -n my-awesome-filter.jq

现在我正在回避它(使用鱼壳):

jq (cat my-awesome-filter.jq | tr -d "\n\r\t") whatever.json

和:

jq -n (cat my-awesome-filter.jq | tr -d "\n\r\t")

能够做到这一点会有兴趣吗? 有什么我可以帮忙的吗?

support

最有用的评论

-f是完美的,但 +1 将它放在手册页中。 :-)

所有4条评论

有一个-f选项。 假设我们使用文件扩展名来决定文件是否有数据或jq程序,如果被多个程序调用,jq应该怎么做? 位置顺序重要吗?

哦,有吗? 在这种情况下,我认为这可能没问题。 它可能应该在手册页上指定。

顺便说一句,如果我们可以使用多个程序调用 jq 并将输入通过所有程序通过管道传输,那将会很酷,例如:

jq -fpipe this.jq that.jq -- input.json

与以下相同:

jq -f this.jq input.json | jq -f that.jq

但是,如果在文件中定义的内容在以下文件中可用,这可能会很有用。

+1

我一直在做

jq "$(cat this.jq that.jq)"' . | my_filter'

-f是完美的,但 +1 将它放在手册页中。 :-)

此页面是否有帮助?
0 / 5 - 0 等级