Continuamos con el mini-curso de SED, en esta nueva entrega vamos a empezar reemplazando en lugar de una cadena de caracteres, dos, ¿como lo hacemos?, está claro que si pasamos dos comandos con caracteres diferentes vamos a sustituir las dos cadenas pero esto no es lo que buscamos, lo queremos hacer en la misma linea:
sed -e 's/coche/car/g' -e 's/casa/house/g' archivo
¿Que hemos hecho en el comando anterior?, fácil, como habréis notado hemos puesto dos comandos en la misma linea, eso si, hemos añadido la opción “-e”, que indica a SED que lo que le sigue, NO es un archivo, sino parte del script. También habréis notado que la opción “-e” está antes de cada parte del script, esto es necesario cuando el comando consta de más de una parte.
¿Como sustituimos una cadena de caracteres como esta?:
Si necesitamos sustituir un path como el anterior, una forma de hacerlo sería poner un “\” delante de cada “/”, tal y como se muestra en el siguiente comando:
sed 's/\/usr\/bin/\/bin/g' archivo
No se a vosotros pero para mi es un poco lioso, se me nubla la vista con tanta barra para un lado y otro, además la opción anterior no funciona con cadenas muy largas, por lo que mejor emplear el siguiente comando:
sed 's#/usr/bin#/bin#g' archivo
Ahora tiene mejor aspecto, en este caso lo que estamos haciendo es cambiar el separador, para ello indicamos el tipo de separador justo después de la “s”, de esta manera hacemos el comando algo más atractivo y además soporta cadenas de caracteres más largas.
Hasta aquí la segunda entrega del mini-curso de SED, poquito a poco seguro que no se nos atraganta