He pasado por el sed one liners pero sigo teniendo problemas con mi objetivo. Quiero sustituir las cadenas correspondientes en todas las líneas excepto en la primera aparición. Mi uso exacto sería:Tener sed hacer sustituto en la cadena, pero OMITIR primera aparición
$ echo 'cd /Users/joeuser/bump bonding/initial trials' | sed <<MAGIC HAPPENS>
cd /Users/joeuser/bump\ bonding/initial\ trials
La línea de reemplaza el espacio en bump bonding
con el espacio barra bump\ bonding
para que pueda ejecutar esta línea (ya que cuando los espacios no se escaparon yo no sería capaz de cd para eso).
actualización: He resuelto esto sólo por el uso de comillas simples y dar salida a
cd 'blah blah/thing/another space/'
y luego usando source
para ejecutar el comando. Pero no respondió mi pregunta. Todavía tengo curiosidad ... ¿cómo usarías sed
para arreglarlo?
Su primera respuesta parece ser la solución universal. Con un poco de lectura, la bandera -e parece ser lo que realmente estaba buscando. – physicsmichael