Usar SED sobre múltiples líneas

Es probable que alguna vez necesitemos buscar en varias lineas a la vez una cadena de texto, esto podemos realizarlo con sed, pero es necesario utilizar el parámetro N para poner la segunda línea en el buffer de búsqueda. Ejemplo:

$ cat ejemplo.txt
Este es un fichero
ejemplo.

Para cambiar “fichero ejemplo” por “fichero de ejemplo” necesitamos hacerlo en dos líneas distintas, se realiza del siguiente modo:

$ cat ejemplo.txt | sed '/fichero$/N;s/fichero\nejemplo/archivo\ncambiado/'
Este es un archivo
cambiado.

En este ejemplo, primero buscamos la línea que termina con la palabra “fichero”, después lee la siguiente línea, y realizamos el cambio.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *