Внизу приведены некоторые примеры данных JSON, к которым я хотел бы добавить метки времени.т.е. "time": "1544785866.176123088"
Временные метки должны быть уникальными на каждой итерации и должны появляться в строке выше «bladesetName».К сожалению, то, что я до сих пор не работает.После распечатки времени в файл в нужных местах я собирался добавить 1 нс к каждой записи.Есть ли лучший способ сделать это?
timestamp() {
date +%s.%N
}
awk "/bladesetName/{ print '"time" "$(timestamp)"' }1" volumes3.json
Это выдает ошибку
awk: /bladesetName/{ print 'time 1544786158.644385726' }1
awk: ^ invalid char ''' in expression
.
{
"pasxml": {
"@version": "6.0.0",
"system": {
"name": "example1",
"IPV4": "0.0.0.0",
"alertLevel": "critical",
"state": "online"
},
"volumes": {
"volume": [
{
"@id": "1",
"name": "/",
"bladesetName": {
"@id": "1",
"#text": "Set-1"
},
"state": "Online",
"raid": "Object RAID6+",
"director": "Shelf-001,1",
"volservice": "0x0400000000000004(FM)",
"objectId": "I-xD0200000000000004-xG7ee84b0c-xU00004a75726a656e",
"recoveryPriority": "1",
"efsaMode": "retry",
"spaceUsedGB": "0",
"spaceAvailableGB": "693903.38",
"hardQuotaGB": "0.52",
"softQuotaGB": "0.52",
"userQuotaPolicy": {
"@inherit": "0",
"#text": "disabled"
},
"stats": null
},
{
"@id": "8",
"name": "/datacentre/archvol/pan101",
"bladesetName": {
"@id": "1",
"#text": "Set-1"
},
"alertLevel": "critical",
"state": "Online",
"raid": "Object RAID6+",
"director": "Shelf-008,1",
"volservice": "0x04000000000000ec(FM)",
"objectId": "I-xD02000000000000ec-xG5c7aef6f-xU00004a75726a656e",
"recoveryPriority": "50",
"efsaMode": "retry",
"spaceUsedGB": "117000.09",
"spaceAvailableGB": "693903.38",
"hardQuotaGB": "117000.00",
"softQuotaGB": "90000.00",
"userQuotaPolicy": {
"@inherit": "1",
"#text": "disabled"
},
"stats": null
},