A small correction to grail's post. Since the expression includes a forward slash, you have to change the delimiter to something else.
Code:
sed -r 's%=([^ /]*)%="\1"%g' file
Any ascii character will do. The first character after the '
s' will be used as the delimiter for the whole expression. I used '%' here.
(Edit: Hmmm... has
sed gotten smarter? It appears not to complain as long as the character in question is inside '
[]' brackets. At least the gnu version doesn't. I don't remember it working like that before.)
BTW, the above simply adds quotes around anything that appears between an equals-sign and either a space or slash. To avoid false positives you may want to further limit the expression by explicitly addressing the line and the entry names you want to change.
Code:
sed -r '/A_NODE/ s%(name|ltances)=([^ /]*)%=\1="\2"%g' file
If any of the text entries could include spaces, then things could get trickier.