Specifico lo spazio degli indirizzi tra "{" e "}," in sed, quindi mi aspetto che il primo "Acer" sia sostituito in "TTTT". Il secondo non è previsto. Come posso risolvere questo problema? Ho fatto il test su Ubuntu 15.10 e la versione sed è sed (GNU sed) 4.2.2.sed - spazio indirizzo tra "{" e "},"
Grazie in anticipo.
$ echo "
[
{
\"manufacturer\": \"Acer\",
\"regularPrice\": 165.99,
},
[
\"manufacturer\": \"Acer\",
\"regularPrice\": 165.99,
],
{
\"manufacturer\": \"Acer\",
\"regularPrice\": 165.99,
}
]
" | sed "/{/,/},/ {s/\"Acer\"/\"TTTT\"/}"
I risultati sono i seguenti:
[
{
"manufacturer": "TTTT",
"regularPrice": 165.99,
},
[
"manufacturer": "Acer",
"regularPrice": 165.99,
],
{
"manufacturer": "TTTT",
"regularPrice": 165.99,
}
]
Il secondo motivo nell'indirizzo indica "ferma quando viene trovato". Non significa "non procedere se questo non viene trovato". –