我有一个jq,它从json文件中获取特定值,并将输出追加到文本文件中。文本文件包含例如:docker-virtual.artifactory.com的选项名。
因此,输出应该作为一个RepositoryName:TAG附加到文本文件中现有的输出。
"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文件中获取类型为docker-image的值,并将值重定向到文件output.txt
jq -r '.dependencies[] | select(.type == "docker-image").path' packages.json > output.txt因此,output.txt文件看起来如下:
redis:6.0.10-alpine3.12
jboss/keycloak:12.0.1但是我试图将这个输出附加到一个文件中,如下所示:
docker-virtual.artifactory.com/redis:6.0.10-alpine3.12如何做到这一点?
发布于 2022-07-15 11:25:27
不如:
jq -r '.dependencies[] | select(.type == "docker-image").path' packages.json | sed 's/.*/docker-virtual.artifactory.com\/&/'> output.txt注意,这将每次重写output.txt文件,如果您唯一的目的是附加到它,那么使用'>>‘符号,如下所示:
jq -r '.dependencies[] | select(.type == "docker-image").path' packages.json | sed 's/.*/docker-virtual.artifactory.com\/&/'>> output.txt希望这能有所帮助。
https://stackoverflow.com/questions/72992497
复制相似问题