giriş
ben araştırılmış ve 2 gün boyunca bu denedi için dönüştürülürken tek alanı düzenleyin. Benzer bir soru bulmakta ya da kendime bir cevap bulmakta başarılı olamadım.jq: CSV
şöyle ben
{ "content": [
{
"@type": "CatalogResource",
"id": "ccc",
"iconId": "xxx",
"resourceTypeRef": {
"id": "Infrastructure.Virtual",
"label": "Virtual Machine"
},
"name": "name01",
"description": "example01",
"status": "ACTIVE",
"catalogItem": {
"id": "xxxxx",
"label": "xxxxx"
},
"requestId": "xxxxx",
"providerBinding": {
"bindingId": "xxxx",
"providerRef": {
"id": "xxxxx",
"label": "xxxxx"
}
},
"owners": [
{
"tenantName": "xxxxx",
"ref": "xxxxxxxx",
"type": "USER",
"value": "xxxxxxxxx"
}
],
"organization": {
"tenantRef": "xxxx",
"tenantLabel": "xxxxxxx",
"subtenantRef": "xxxxxx",
"subtenantLabel": "xxxxxxxxx"
},
"dateCreated": "2015-10-05T08:58:35.133Z",
"lastUpdated": "2015-12-03T13:23:54.187Z",
"hasLease": true,
"lease": {
"start": "2015-10-05T08:21:31.000Z"
},
"leaseForDisplay": null,
"hasCosts": true,
"costs": {
"leaseRate": {
"type": "moneyTimeRate",
"cost": {
"type": "money",
"currencyCode": "GBP",
"amount": 99999
},
"basis": {
"type": "timeSpan",
"unit": "DAYS",
"amount": 1
}
}
},
"costToDate": {
"type": "money",
"currencyCode": "GBP",
"amount": 19181
},
"totalCost": null,
"childResources": [],
"operations": null,
"forms": {
"catalogResourceInfoHidden": true,
"details": {
"type": "extension",
"extensionId": "xxxxxx",
"extensionPointId": null
}
},
"resourceData": {
"entries": []
}
},
{
"@type": "CatalogResource",
"id": "ccc",
"iconId": "xxx",
"resourceTypeRef": {
"id": "Infrastructure.Virtual",
"label": "Virtual Machine"
},
"name": "name01",
"description": "this, is, my, problem",
"status": "ACTIVE",
"catalogItem": {
"id": "xxxxx",
"label": "xxxxx"
},
"requestId": "xxxxx",
"providerBinding": {
"bindingId": "xxxx",
"providerRef": {
"id": "xxxxx",
"label": "xxxxx"
}
},
"owners": [
{
"tenantName": "xxxxx",
"ref": "xxxxxxxx",
"type": "USER",
"value": "xxxxxxxxx"
}
],
"organization": {
"tenantRef": "xxxx",
"tenantLabel": "xxxxxxx",
"subtenantRef": "xxxxxx",
"subtenantLabel": "xxxxxxxxx"
},
"dateCreated": "2015-10-05T08:58:35.133Z",
"lastUpdated": "2015-12-03T13:23:54.187Z",
"hasLease": true,
"lease": {
"start": "2015-10-05T08:21:31.000Z"
},
"leaseForDisplay": null,
"hasCosts": true,
"costs": {
"leaseRate": {
"type": "moneyTimeRate",
"cost": {
"type": "money",
"currencyCode": "GBP",
"amount": 99999
},
"basis": {
"type": "timeSpan",
"unit": "DAYS",
"amount": 1
}
}
},
"costToDate": {
"type": "money",
"currencyCode": "GBP",
"amount": 19181
},
"totalCost": null,
"childResources": [],
"operations": null,
"forms": {
"catalogResourceInfoHidden": true,
"details": {
"type": "extension",
"extensionId": "xxxxxx",
"extensionPointId": null
}
},
"resourceData": {
"entries": []
}
}
]
}
Ben CSV dönüştürmek (VRA API'larından) Aşağıdaki JSON yükü vardır: Ben .description alanını düzenlemek gerekir
jq --raw-output -r '.content[0] | [.name,.id,.resourceTypeRef.label,.description,.status,.catalogItem.label,.owners[0].value,.dateCreated,.costs.leaseRate.cost.amount,.costToDate.amount] | @csv'
Soru
ve mevcut olduğunda virgülleri kaldırın.
Bunu yapmak için jq yolunu arıyorum; Ben sed veya awk kullanarak kabuk seviyesinde yapabilirdim, ancak CSV'yi oluşturmak için kullandığım komutla jq kullanarak mümkün olup olmadığını bilmek isterim.
Teşekkürler!
jq komutu çalışmıyor – hek2mgl
Haklısınız ve özür dileriz. JSON kodu bir ekstrakt oldu. Hala VRA çağrısı tarafından döndürülen tüm JSON'un bir özüdür, ancak şimdi değiştirdim ve * jq * örneği ile çalışmalıdır. Teşekkür – Benedetto