【问题标题】:JQ: How to specify function name and include file as input arguments?JQ:如何指定函数名和包含文件作为输入参数?
【发布时间】:2018-09-26 19:00:38
【问题描述】:

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

1.如何按指定为命令行参数的名称调用函数?

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

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

2。是否还可以指定要包含在 JQ 的命令行参数中的文件?

我也尝试过直截了当的方式,但没有成功。

【问题讨论】:

    标签: command-line jq


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多