我有包含码头图像详细信息的packages.json文件,如下所示:
"dependencies": [
{
"name": "powershell-core",
"type": "zip",
"path": "Dependencies",
"filename": "PowerShell-Core-6.2.3-win-x64.msi"
},
{
"name": "redis",
"type": "docker-image",
"path": "redis:6.0.10-alpine3.12",
"filename": ""
},
{
"name": "keycloak",
"type": "docker-image",
"path": "jboss/keycloak:12.0.1",
"filename": ""
},
]JSON数据是半结构化的,所有的数据都不一样。在这里,我试图获取特定的数据,比如"path",条件是如果它是"dependencies"下的"type": "docker-image",然后获取它。
我试过这样的方法:
$ jq '.dependencies[2].path' packages.json产出:
"redis:6.0.10-alpine3.12"因此,如何从packages.json文件中获取具有"type"作为"docker-image"的"dependencies"的所有"path",并将其保存在一个文件中。
发布于 2022-07-13 10:08:44
使用select筛选数组:
jq -r '.dependencies[] | select(.type == "docker-image").path' packages.json-r移除路径周围的双引号。
使用重定向将输出保存到文件:
... > outputhttps://stackoverflow.com/questions/72964439
复制相似问题