unix JQ -在简单列表中获取不带值的键

svmlkihl  于 2022-11-04  发布在  Unix
关注(0)|答案(1)|浏览(146)

我有一个Pipfile.lock JSON文件,我需要用jq工具解析它。文件的结构是:

{
     //...
     "default": {
           "value1": {
           // lots of nested properties with values
           },
           "value2": {
           //similar stuff as for value1
           }
           //... 
     }
}

现在要做的是jq '.default | keys' Pipfile.lock,它产生:

[
    "value1",
    "value2",
...
]

我需要输出来:
1.不产生第一行[和最后一行]
1.打印的值不带引号
仅使用jq是否可行?

oymdgrw7

oymdgrw71#

您需要的是数组的元素,而不是数组本身。

jq '.default | keys[]' Pipfile.lock

使用-r选项输出原始字符串,而不是JSON字符串。

jq -r '.default | keys[]' Pipfile.lock

相关问题