我想创建通用的SH脚本,该脚本将使用指定的函数调用,以在JQ查询的中间使用。
1。如何通过指定为命令行参数的名称调用函数?
这样做的直接方法是生成带有函数名称的字符串,而不是调用这样的函数:
jq --arg query_function "foo_function" '
include "foo_function";
. |
($query_function)' \
input.txt
2。
是否可以指定要包含的文件以及JQ的命令行参数?我也试图以一种简单的方式做到这一点,但是没有用。
答案 0 :(得分:1)
不能将jq函数名称或模块名称都指定为jq变量,因此,要实现您想要的功能,就必须诉诸于shell字符串插值或查找表达式。
但是,值得注意的是,jq支持基于数组的路径表达式,因此可以使用jq变量支持某些类型的查找。