En ocasiones, puede ser de gran utilidad insertar texto en el encabezado de un documento o en algún otro lugar del mismo, como por ejemplo antes o después de una línea. El editor de flujo de Linux, sed, puede ayudarnos con esta tarea y a continuación veremos cómo.
¿Cuál es la sintaxis de "sed"?
La sintaxis es la misma tanto para insertar, añadir o modificar:
sed '{/ocurrencia/|/regexp/|n}{i|a|c}\<Texto a insertar>' fichero
¿Cómo añadir texto con "sed"?
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 insert).
- La inserción después de la línea en curso (con el parámetro 'a' de after).
- El reemplazo (con el parámetro 'c' de change).
Insertar una línea con 'i'
La sintaxis es simple, no hay más que indicar la línea antes de la cual va a ser insertada la nueva línea, ya sea por su número o por una ocurrencia. En este último caso, la línea será insertada antes de cada línea que contenga la ocurrencia. Por 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 en la que después será insertada la nueva, ya sea por su número 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. A continuación, un 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á sustituida por la nueva, 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á sustituida. Un ejemplo sería:
- 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 sustituidas 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 sustituidas todas las líneas que contengan la ocurrencia" fichero.txt
¿TIENES MÁS PREGUNTAS SOBRE LINUX? ¡CONSULTA NUESTRO FORO DE DISCUSIÓN!
Linux
- Cómo leer un archivo línea por línea
- Cómo buscar una palabra en VI/VIM y reemplazar en Linux
- Cómo desactivar y reiniciar la interfaz de red en Linux
- Eliminar líneas con el comando 'sed' en Linux: en blanco...
- Cómo desactivar el firewall en Ubuntu Server 18.04, 20.4...
- Formatear una memoria USB en Ubuntu: Terminal, 18.04, 20.04
- Cómo quitar la contraseña de usuario de Linux
- Cómo usar el comando "su" en Linux
- Cómo ejecutar un programa automáticamente al iniciar Ubuntu
- Cómo desinstalar Ubuntu: en Dual Boot, sin dañar Windows 10
- Linux avahi-daemon: qué es, desactivar en Ubuntu, Debian...
- Cómo ver la lista de los paquetes instalados en Debian
- Cómo configurar y conectar wifi en Linux: Ubuntu, Debian...
- Los parámetros en Bash script: especiales, posicionales...
- Cambiar el idioma en Debian: teclado, ponerlo en español
- Comando 'sed' de Linux: cómo usarlo, ejemplos, opciones...
- Cómo instalar Opera en Ubuntu: desde la Terminal
- Cómo activar y configurar el WiFi en Ubuntu: 16.04, 20.04...
- Cómo abrir la Terminal en Ubuntu: 20.04, 12.04...
- Cómo activar el usuario root en Ubuntu y cambiar contraseña
- Cómo ver la temperatura de la CPU en Linux: desde la consola
- Solucionar el error GPG en Debian: apt-get update NO_PUBKEY
- Cómo escanear y ver los puertos abiertos en Ubuntu
- Guardar salida de un comando en una variable Bash en Linux
- Tutorial de introducción a Sed: expresiones regulares...
- Cómo ver el espacio libre en disco en Ubuntu por consola
- Para qué sirve la variable de entorno PATH en Bash (Linux)
- Comandos para monitorear el sistema en Linux: ver recursos
- Cómo instalar Ubuntu en VirtualBox: guía paso a paso
- Comprimir y descomprimir archivos en Linux: terminal, tar...
- Cómo restaurar Linux a un punto anterior desde el terminal
- Las aplicaciones predeterminadas e imprescindibles de Ubuntu
- Imagen ISO en Ubuntu (Linux): cómo montarla y ejecutarla
- Convertir archivo de DOS a UNIX: sed, salto de línea...
- Sistema de archivos Linux: ver, crear, comprobar, reparar...
- Cómo crear un archivo vacío en Linux y comprobar si lo está
- Cómo ejecutar un script desde la consola en Linux
- Dónde están el Escritorio y Papelera en Ubuntu y derivados
- Papelera en Ubuntu: dónde está, ponerla en el escritorio
- Ubuntu: instalar, cómo funciona, conectar WiFi, programas...
- El shell Bash: qué es, para qué sirve, comandos, ejemplos...
- Tipos de sistema de almacenamiento RAID: 0, 1, 2, 5, 10...
- Cómo acelerar Ubuntu al máximo: 16, 18.04, 20.04, 21.04...
- Cómo instalar Linux desde un USB externo en Windows 10
- Cómo montar una memoria USB en Linux: en manual y automático
- Cómo saber el número de procesadores que tienes en Linux
- Cómo cambiar de idioma o instalar nuevos en Ubuntu: terminal
- Linux no inicia el modo gráfico: cómo cambiar de entorno...
- Deshabilitar el IPv6 por línea de comandos: Linux, Ubuntu...