Me gustaría reemplazar todos {} en cierta línea con [], pero desafortunadamente solo puedo hacer coincidir la última ocurrencia de la expresión regular.sed solo reemplazando la última coincidencia de coincidencia - necesidad de coincidir con todos
que tienen un archivo de configuración que tiene la estructura de la siguiente manera:
entry {
id 123456789
desc This is a description of {foo} and was added by {bar}
trigger 987654321
}
tengo el siguiente sed, de los cuales es capaz de reemplazar el último partido 'bar', pero no 'foo':
sed s'/\(desc.*\){\(.*\)}/\1\[\2\]/g' < filename
Anclaré esta búsqueda a la línea que contiene 'desc' ya que no me gustaría que reemplazara las llaves de delimitación de cada bloque de 'entrada'.
Por mi vida no puedo encontrar la manera de reemplazar todas las ocurrencias.
Se agradece cualquier ayuda, he estado aprendiendo todo el día y no he podido leer más tutoriales por temor a que mis córneas se rompan.
Gracias!
Gracias F.J, ¡funcionó muy bien! (PD: puede marcar como respondido en 3 minutos al parecer :-) – halfpasthope