使用jqor jtc,我想將一個 json 檔案串列作為輸入,并根據每個輸入檔案中找到的陣列的鍵生成一個 json 檔案。例子:
第一個檔案:
{
"key1": [
"key1-out1"
]
}
第二個檔案:
{
"key1": [
"key1-out2"
]
}
第三個檔案:
{
"key2": [
"key2-out1"
]
}
預期輸出:
{
"key1": [
"key1-out1"
"key1-out2"
],
"key2": [
"key2-out1"
]
}
我遇到了這個幾乎完美的答案,但我不能直接使用它,因為我不知道我會在每個輸入檔案中得到什么鍵。
uj5u.com熱心網友回復:
如果任何檔案有多個鍵:
jq -n 'reduce inputs as $in ({};
reduce ($in|keys_unsorted)[] as $k (.;
.[$k] = $in[$k]))' file1 file2 file3 # ...
您可能想要調整它,以便在與鍵關聯的值意外地不是陣列時它不會失敗。
如果您使用 gojq(jq 的 Go 實作),您將使用keys而不是keys_unsorted.
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/351615.html
