Итак, у меня есть действительно длинный текстовый файл, который следует этому шаблону:
},
"303" :
{
"id" : "4k4hk2l",
"color" : "red",
"moustache" : "no"
},
"303" :
{
"id" : "4k52k2l",
"color" : "red",
"moustache" : "yes"
},
"303" :
{
"id" : "fask2l",
"color" : "green",
"moustache" : "yes"
},
"304" :
{
"id" : "4k4hf4f4",
"color" : "red",
"moustache" : "yes"
},
"304" :
{
"id" : "tthj2l",
"color" : "red",
"moustache" : "yes"
},
"304" :
{
"id" : "hjsk2l",
"color" : "green",
"moustache" : "no"
},
"305" :
{
"id" : "h6shgfbs",
"color" : "red",
"moustache" : "no"
},
"305" :
{
"id" : "fdh33hk7",
"color" : "cyan",
"moustache" : "yes"
},
, и я пытаюсь отформатировать его как правильный объект json со следующей структурой ....
"303" :
{ "list" : [
{
"id" : "4k4hk2l",
"color" : "red",
"moustache" : "no"
},
{
"id" : "4k52k2l",
"color" : "red",
"moustache" : "yes"
},
{
"id" : "fask2l",
"color" : "green",
"moustache" : "yes"
}
]
}
"304" :
{ "list" : [
etc...
означает, что я ищу все шаблоны ^ "\ d \ d \ d": и оставляю первый уникальный, но удаляю все последующие (например, оставьте первый экземпляр "303":но полностью удалите остальные из них. затем оставьте первый экземпляр «304»; но полностью удалите все остальные и т. д.).
Я пытался сделать это в приложении bbedit, который имеет опцию grep для поиска / замены.Мой шаблонный фу слишком слаб для этого.Есть идеи?Или лучший способ выполнить эту задачу?