sustituir

Nov 06 13:27

Sustituir un bloque de un archivo por un texto

Sustituir palabras o frases con sed en un archivo, es fácil, lo que no es trivial es que encuentre un bloque determinado de texto y ese bloque lo sustituya por otra cosa. Pero no que te sustituya por línea sino TODO el bloque. Aquí un ejemplo de cómo sustituir las entradas de los kernels que hay en un menu.lst del grub
#!/bin/sh
 
sed -i.bak -n -e '1,/### BEGIN AUTOMAGIC KERNELS LIST/ p' \
       -e '/### BEGIN AUTOMAGIC KERNELS LIST/ a\
Una lí­nea \
otra línea \
\
¿Una entrada del kernel?' \
       -e '/### END DEBIAN AUTOMAGIC KERNELS LIST/,$ p' menu.lst
 
### Explicación de parámetros ###
## -i.bak
# Hace que se sustituya en el mismo archivo (menu.lst), pero guardando una copia
# del original con la extensión que se le pase a -i .
Lenguaje: 
bash