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.