我想將 JSON 檔案中的資料決議為 tsv 檔案,但我無法使其作業。
輸入
{
"images": [
{
"id": "592a77a5-614e-4ed8-b846-d4db1f27edbf",
"name": "ubuntu",
"tags": [
"latest"
]
},
{
"id": "592da7a5-614e-4ed8-b846-d4db1f27edbf",
"name": "debian",
"tags": [
"latest",
"10.0"
]
}
]
}
期望的輸出
所需的輸出是一個制表符分隔的表格
ubuntu latest
debian latest
debian 10.0
我試過的
# My data
echo '{"images":[{"id":"592a77a5-614e-4ed8-b846-d4db1f27edbf","name":"ubuntu","tags":["latest"]},{"id":"592da7a5-614e-4ed8-b846-d4db1f27edbf","name":"debian","tags":["latest","10.0"]}]}' > my.json
# My query
jq -r '.images | map({id} (.tags | fromjson[])) | @tsv' my.json > my.tsv
首先我訪問影像串列,然后我想對所有我想要標簽的 id 進行操作。我從類似的帖子中借了地圖,但它似乎不起作用。我的查詢和他們的查詢之間的唯一區別是帶有.images的額外層。
uj5u.com熱心網友回復:
在進入標簽之前將名稱保存到變數中
jq -r '.images[] | .name as $name | .tags[] | [$name, .] | @tsv'
ubuntu latest
debian latest
debian 10.0
演示
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/477872.html
