小编wal*_*tor的帖子

在磁盘上存储“jq”过滤器的好机制是什么?

jq的典型用法

jq [options] <jq filter> [file...]
Run Code Online (Sandbox Code Playgroud)

意味着,例如,要漂亮地打印一个文件,我们会写

jq -s '.' input.json output.json
Run Code Online (Sandbox Code Playgroud)

但随着程序的<filter>增长,将其作为成熟的程序存储在磁盘上会更干净。

我们可能想要这样做,因为:

  1. 我们在多个上下文/文件中使用过滤器,并且不希望存在剪切和粘贴的风险。
  2. 将过滤器存储在 Makefile 中意味着我们必须引入尾部反斜杠,这会降低代码的可读性。
  3. 如果幸运的话,我们可能在某些编辑器中拥有一种模式,可以更轻松地发现代码中的细微错误。

最好的方法awk(对于 CSV 文件就像 jq 对于 JSON 文件一样)是保存带有.awk扩展名的文件,使其可执行并在第一行写入:

#!/usr/bin/awk -f
Run Code Online (Sandbox Code Playgroud)

或者

#!/opt/local/bin/gawk -f
Run Code Online (Sandbox Code Playgroud)

在磁盘上存储过滤器的好机制是什么jq

jq

2
推荐指数
1
解决办法
937
查看次数

标签 统计

jq ×1