Sed – Añadir texto

Septiembre 2017




Introducción


A veces puede ser útil insertar texto en el encabezado de un documento, o en alguna otra parte del mismo, como por ejemplo antes o después de una línea.
El editor de flujo sed puede ayudarnos con esta tarea y a continuación veremos cómo.

Sintaxis


Cualquiera que sea el método utilizado (insertar, añadir o modificar), la sintaxis es la misma:

sed '{/ocurrencia/|/regexp/|n}{i|a|c}\<Texto a insertar>' fichero

Añadir texto


Existen tres maneras de insertar texto en un documento:
  • la inserción antes de la línea en curso (con el parámetro i de inserción)
  • la inserción después de la línea en curso (con el parámetro a de after (después en ingles))
  • el reemplazo (con el parámetro c de change (cambiar en inglés))

Insertar una línea con i


La sintaxis es bien simple, no hay más que indicar la línea antes de la cual será insertada la nueva línea, ya sea por su número de línea o por una ocurrencia. En el caso de una ocurrencia, la línea será insertada antes de cada línea que contenga la ocurrencia.

Ejemplo:
  • Con un número de línea concreto


sed "16i\Notas: La negación se obtiene con un punto de exclamación! \n " fichero.txt
  • Con una ocurrencia


sed "/Conclusión/i\Notas: La negación se obtiene con un punto de exclamación! \n" fichero.txt

Añadir una línea con “a”


La sintaxis es la misma, tan solo hay que indicar la línea después de la cual será insertada la nueva línea, ya sea por su número de línea o por una ocurrencia. En el caso de una ocurrencia, una línea será insertada después de cada línea que contenga la ocurrencia.
Ejemplo:
  • Con un número de línea concreto


sed "8a \"ed\" es un editor de texto orientado a líneas. Es utilizado para crear, mostrar\
, modificar o manipular archivos de texto.” fichero.txt
  • Con una ocurrencia


sed "/\"ed\"/a \"ed\"es un editor de texto orientado a líneas. Es utilizado para crear, mostrar\
, modificar o manipular archivos de texto.” fichero.txt

Reemplazar una línea con “c”


La sintaxis es la misma, tan solo hay que indicar la línea que será substituida por la nueva línea, ya sea por su número de línea o por una ocurrencia. En el caso de una ocurrencia, cada línea que presente la ocurrencia será substituida por la nueva línea.

Ejemplo:
  • Con un número de línea concreto

sed "/14/c Diversos parámetros pueden ser pasados al final de la expresión, como por
ejemplo el parámetro \"g\" (de global), para que sean substituidas todas las líneas que
contengan la ocurrencia" fichero.txt
  • Con una ocurrencia

sed "/global/c Diversos parámetros pueden ser pasados al final de la expresión, como por
ejemplo el parámetro \"g\" (de global), para que sean substituidas todas las líneas que
contengan la ocurrencia" fichero.txt


Nota: Puedes encontrar el fichero de referencia empleado en los ejemplos al final de este articulo

Consulta también

Publicado por Carlos-vialfa. Última actualización: 30 de julio de 2009 a las 01:47 por Carlos-vialfa.
El documento «Sed – Añadir texto» se encuentra disponible bajo una licencia Creative Commons. Puedes copiarlo o modificarlo libremente. No olvides citar a CCM (es.ccm.net) como tu fuente de información.