9 Mejores fórmulas de editar texto con el comando SED en Linux

Sed, el editor de flujo de Linux, es una herramienta potente para manipular texto directamente desde la línea de comandos.

Desde reemplazos simples hasta transformaciones complejas, aquí tienes nueve formas de usar sed para editar archivos de texto.

1. Buscar y reemplazar texto

El uso más común de sed es reemplazar texto.

La sintaxis básica es:

sed 's/viejo/nuevo/' archivo.txt
  • s significa substitute (sustituir)
  • viejo es el texto a buscar
  • nuevo es el texto de reemplazo

Para reemplazar todas las ocurrencias en cada línea, añade g:

sed 's/viejo/nuevo/g' archivo.txt

También puedes reemplazar texto en líneas específicas o según patrones:

sed 's/viejo/nuevo/' archivo.txt          # reemplaza la primera ocurrencia por línea
sed 's/viejo/nuevo/g' archivo.txt         # reemplaza todas las ocurrencias
sed '10s/viejo/nuevo/' archivo.txt        # línea 10
sed '10,20s/viejo/nuevo/' archivo.txt     # líneas 10 a 20
sed '/ERROR/s/viejo/nuevo/g' archivo.txt  # solo líneas con ERROR

2. Insertar, agregar y eliminar contenido

Insertar antes de una línea:

sed '3i
# Nuevo ajuste
ENABLE_FEATURE=true' config.conf

Agregar después de una línea:

sed '3a
Texto agregado' archivo.txt

Reemplazar toda una línea:

sed '/^version=/cversion=2.0.0' config.conf

Eliminar líneas:

sed '3d' archivo.txt        # eliminar línea 3
sed '5,10d' archivo.txt     # eliminar líneas 5 a 10
sed '/DEBUG/d' logarchivo.txt # eliminar todas las líneas con DEBUG

3. Mostrar y extraer contenido

Usa -n para suprimir la salida por defecto y p para imprimir:

sed -n '5p' archivo.txt          # línea 5
sed -n '15,20p' archivo.txt      # líneas 15 a 20
sed -n '/ERROR/p' archivo.txt    # líneas que contienen ERROR
sed -n '/START/,/END/p' archivo.txt # entre START y END
sed -n '/ERROR/!p' logarchivo.txt   # todo excepto ERROR

4. Modificar archivos directamente con respaldo

Editar en el archivo original:

sed -i 's/viejo/nuevo/g' archivo.txt

Crear un respaldo antes de editar:

sed -i.bak 's/viejo/nuevo/g' archivo.txt

Respaldos con fecha:

sed -i.$(date +%Y%m%d) 's/foo/bar/g' config.conf

5. Aplicar varios cambios a la vez

Combina múltiples ediciones:

sed -i -e 's/apple/orange/g' -e 's/pear/grape/g' archivo.txt
sed 's/red/blue/g; s/apple/orange/g; /draft/d' datos.txt

6. Automatizar ediciones con scripts

Crea un archivo edits.sed:

s/apple/orange/g
s/pear/grape/g
/^#/d

Aplica los cambios a cualquier archivo:

sed -i -f edits.sed archivo.txt

7. Usar expresiones regulares (regex)

Regex permite buscar patrones en lugar de texto literal:

sed -E 's/^([A-Za-z]+)[[:space:]]+([A-Za-z]+)$/2, 1/' nombres.txt

Ejemplo de salida:

John Doe   -> Doe, John
Jane Smith -> Smith, Jane

Otros usos:

sed -E 's/b([0-9])b/01/g' numeros.txt     # agregar cero inicial
sed -E 's/[[:space:]]+$//' archivo.txt          # eliminar espacios al final

8. Limpiar y formatear archivos de texto

Eliminar retornos de carro de Windows:

sed -i 's/r$//' archivo.txt

Convertir tabs a espacios:

sed -E 's/t/ /g' archivo.txt

Limpiar espacios y líneas vacías:

sed -E '/^[[:space:]]*$/d' archivo.txt
sed -E 's/[[:space:]]+$//' archivo.txt
sed -E 's/[[:space:]]+/ /g' archivo.txt

9. Combinar sed con otros comandos

Limitar la salida de ps aux:

ps aux | sed -n '1,5p'

Extraer información con grep y sed:

grep 'ERROR' logarchivo | sed -E 's/.*[([0-9-: ]+)].*/1/p'

Conclusión

Como has podido ver, Sed es un editor poderoso de línea de comandos que con práctica diaria, puede reemplazar tareas manuales y acelerar tu flujo de trabajo en Linux.

Admin

Entradas recientes

Descubre los Mejores Juegos Gratis de Amazon Luna en 2025

Los juegos gratis de Amazon Prime Gaming representan un atractivo significativo para los suscriptores de…

10 horas hace

Juegos Gratis de Epic Games hasta el 20 de noviembre: ScourgeBringer, Songs of Silence y Zero Hour

Si eres un amante de los videojuegos, estás de suerte. Hasta el 20 de noviembre…

19 horas hace

Premio Nobel se une a Bigtechs para trabajar en construir Computadoras Cuánticas personales

La computación cuántica acaba de dar un salto gigante. John M. Martinis, recién galardonado con…

20 horas hace

La biografía de Steve Jobs escrita por el biógrafo Walter Isaacson

La biografía más vendida del cofundador de Apple, Steve Jobs; escrita por uno de los…

3 días hace

Cómo la Inteligencia Artificial está Revolucionando los Sistemas de Seguridad en el Hogar

Hubo un tiempo en el que la “seguridad en el hogar” significaba confiar en un…

3 días hace

Elon Musk se asegura una compensación de 1 billón de dólares con Tesla

Elon Musk vuelve a romper todos los esquemas. Los accionistas de Tesla acaban de aprobar…

3 días hace