JQ:如何指定函数名称并包括文件作为输入参数?

时间:2018-09-26 19:00:39

标签: command-line jq

我想创建通用的SH脚本,该脚本将使用指定的函数调用,以在JQ查询的中间使用。

1。如何通过指定为命令行参数的名称调用函数?

这样做的直接方法是生成带有函数名称的字符串,而不是调用这样的函数:

jq --arg query_function "foo_function" '
  include "foo_function";
  . |
  ($query_function)' \
input.txt

2。

是否可以指定要包含的文件以及JQ的命令行参数?

我也试图以一种简单的方式做到这一点,但是没有用。

1 个答案:

答案 0 :(得分:1)

不能将jq函数名称或模块名称都指定为jq变量,因此,要实现您想要的功能,就必须诉诸于shell字符串插值或查找表达式。

但是,值得注意的是,jq支持基于数组的路径表达式,因此可以使用jq变量支持某些类型的查找。