Sed – Añadir texto

Haz una pregunta



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
Jean-François Pillou

Nuestros contenidos son redactados en colaboración con expertos del ámbito tecnológico bajo la dirección de Jean-François Pillou, fundador de CCM.net y director digital en el Grupo Figaro. CCM es un sitio de tecnología líder a nivel internacional y está disponible en 11 idiomas.

Más información sobre el equipo de CCM

Consulta también