如何将 json 文件名传递给 jq?

how to pass json file name to jq?

目前我打电话

cat my_file.json | jq

漂亮地打印 json 数据。我有点惊讶我做不到

jq my_file.json

jq --file my_file.json

我真的不能指定文件名吗?如果是,为什么要限制?

需要指定jq程序为运行:

jq . my_file.json

jq -h

jq -h 生成的用法行:

Usage:  jq [options] <jq filter> [file...]

请注意,通过使用 -h 选项调用 jq 生成的摘要(当前)不提供选项的完整列表。支持的选项见jq手册:https://stedolan.github.io/jq/manual/

注意的两个未记录的选项是:

--debug-dump-disasm
--debug-trace

jq .

在某些情况下,jq . 可以缩写为 jq,但使用完整形式总是安全的;一个好的经验法则是:如果有疑问,请这样做。