El comando sed
(stream editor) es una herramienta poderosa en Bash que permite realizar transformaciones y manipulaciones de texto de manera no interactiva. Se utiliza comúnmente para buscar, reemplazar, insertar o eliminar texto en archivos o flujos de datos.
La sintaxis básica del comando sed
es la siguiente:
sed [opciones] [argumentos]
-e
: Permite agregar múltiples expresiones de edición.-i
: Edita archivos en su lugar (in-place), modificando el archivo original.-n
: Suprime la salida automática, permitiendo mostrar solo las líneas especificadas.s/patrón/reemplazo/
: Realiza una sustitución del patrón encontrado por el texto de reemplazo.Aquí hay algunos ejemplos prácticos del uso de sed
:
sed 's/hola/adiós/' archivo.txt
Este comando reemplaza la primera aparición de “hola” por “adiós” en cada línea de archivo.txt
.
sed 's/hola/adiós/g' archivo.txt
Aquí, el modificador g
asegura que todas las apariciones de “hola” sean reemplazadas por “adiós”.
sed '/patrón/d' archivo.txt
Este comando elimina todas las líneas que contienen “patrón” en archivo.txt
.
sed -i 's/hola/adiós/g' archivo.txt
Con la opción -i
, este comando reemplaza “hola” por “adiós” directamente en archivo.txt
.
sed -n '/patrón/p' archivo.txt
Este comando muestra solo las líneas que contienen “patrón” en archivo.txt
.
-i
, ya que modifica el archivo original.sed
para patrones más complejos.sed
con otros comandos como grep
o awk
para tareas más avanzadas de procesamiento de texto.