Json
用空格替換製表符
輸入json:
[ { "name": "cust1", "grp": [ { "id": "46", "name": "BA2" }, { "id": "36", "name": "GA1" }, { "id": "47", "name": "NA1" }, { "id": "37", "name": "TR3" }, { "id": "38", "name": "TS1" } ] } ]
如何獲取 .grp
$$ $$@tsv 輸出上用空格分隔的名稱?
$ jq -r '.[]|[.name, (.grp//[{"name":"-"}]|.[]|" ",.name)]|@tsv' test_inp cust1 BA2 GA1 NA1 TR3 TS1
上述樣本的預期輸出:
cust[TAB]BA2[SPACE]GA1[SPACE]NA1[SPACE]TR3[SPACE]TS1
**
jq
**方法:jq -r '.[] | [.name, (.grp | map(.name) | join(" "))] | @tsv' input.json
輸出:
cust1 BA2 GA1 NA1 TR3 TS1