我正在嘗試以逗號分隔值從下面的 json 檔案中獲取訊息欄位
[
{
"title":"second bad commit",
"message":"second bad commit"
},
{
"title":"first bad commit",
"message":"first bad commit",
}
]
我嘗試用 jq 做到這一點:jq -r '.message | join(",")'
它不斷拋出以下錯誤:
jq: error (at <stdin>:0): Cannot index array with string "message"
那么,當密鑰不存在時,如何使 jq 輸出逗號分隔
uj5u.com熱心網友回復:
假設您的資料實際上是:
[
{
"title":"second bad commit",
"message":"second bad commit"
},
{
"title":"first bad commit",
"message":"first bad commit"
}
]
然后你需要使用map來映射每個值:
$ jq 'map(.message)'
[
"second bad commit",
"first bad commit"
]
然后只是連接管道:
$ jq 'map(.message) | join(",")'
"second bad commit,first bad commit"
然后添加-r以輸出原始值。:
$ jq -r 'map(.message) | join(",")'
second bad commit,first bad commit
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/420660.html
標籤:
