Inicio > Procesamiento y búsqueda de texto > sed

Guía del comando sed: Uso del editor de flujo

`sed` (editor de flujo) es una potente herramienta de procesamiento de texto no interactiva utilizada para editar flujos de texto (entrada transmitida a través de archivos o tuberías). Permite realizar tareas como buscar, reemplazar, eliminar o insertar texto de manera eficiente sin abrir archivos. Se utiliza de forma imprescindible en la automatización de transformaciones de texto en scripts de shell. A través de esta guía, aprenderás la utilización básica del comando `sed` y las funciones avanzadas utilizando expresiones regulares.

Introducción a sed

`sed` lee línea por línea del flujo de entrada, procesándolas según las reglas (script) especificadas y enviando los resultados a la salida estándar. Por defecto, el archivo original no se modifica, y para guardar los cambios en un archivo, debes utilizar redireccionamiento (`>`) o la opción `-i`.

Funciones principales de sed

`sed` se utiliza principalmente para los siguientes propósitos:

Principales áreas de uso

  • Reemplazo de texto: Sustituye cadenas específicas dentro de archivos por otras. (Uso más común)
  • Eliminar/Agregar líneas: Elimina líneas que contienen patrones específicos o inserta nuevas líneas en ubicaciones específicas.
  • Coincidencia de patrones y salida: Imprime solo las líneas que coinciden con un patrón específico o procesa solo un rango de líneas.
  • Cambio de formato de archivo: Convierte el formato de archivos de texto o reorganiza datos.
  • Automatización de scripts: Desempeña un papel clave en scripts de shell que procesan masivamente archivos de texto.

Estructura básica de sed

La estructura básica del comando `sed` es `sed [OPTIONS] 'script' [INPUT_FILE...]`. Aquí, 'script' tiene la forma de `[dirección]comando[argumento]`, siendo el comando más importante `s` (sustituir).

Opciones principales del comando sed

`sed` ofrece diversas opciones que permiten un procesamiento flexible de texto, controlando el modo de entrada, especificando scripts y controlando la salida.

1. Opciones de procesamiento de scripts y archivos

2. Flags del comando de sustitución (s)

3. Otros comandos útiles

Comando generado:

Combina los comandos.

Descripción:

`sed` Ejecutando el comando.

Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.

Ejemplos de uso

A través de diversos ejemplos del comando `sed`, aprende cómo buscar, reemplazar y eliminar contenido de archivos de texto de manera efectiva.

Reemplazar todos los 'old' por 'new' en un archivo

sed 's/old/new/g' example.txt

Cambia todas las instancias de la palabra 'old' por 'new' en el archivo `example.txt` y muestra el resultado en la salida estándar.

Modificar directamente el archivo original y reemplazar cadenas

sed -i.bak 's/DEBUG=true/DEBUG=false/' config.conf

Cambia 'DEBUG=true' por 'DEBUG=false' directamente en el archivo `config.conf` y crea un respaldo del archivo original (`.bak`).

Eliminar una línea en un número de línea específico

sed '5d' log.txt

Elimina la quinta línea del archivo `log.txt` y muestra el resultado.

Eliminar líneas en un rango

sed '10,20d' document.txt

Elimina el contenido desde la línea 10 hasta la línea 20 en el archivo `document.txt` y muestra el resultado.

Eliminar líneas con un patrón específico

sed '/WARNING/d' errors.log

Elimina todas las líneas que contengan la palabra 'WARNING' en el archivo `errors.log` y muestra el resultado.

Insertar una línea de encabezado en el contenido de un archivo

sed '1i\Nombre,Edad,Ciudad' data.csv

Inserta una nueva línea de encabezado sobre la primera línea del archivo `data.csv`.

Eliminar líneas vacías

sed '/^$/d' text.txt

Elimina todas las líneas vacías en el archivo `text.txt`. `^$` es una expresión regular que representa líneas vacías.


Comandos de la misma categoría