Skip to content

Hoja de referencia de comandos Sed

Sed es un editor de flujo utilizado para realizar transformaciones y operaciones básicas de texto. Es una de las herramientas de procesamiento de texto más potentes en los sistemas Unix.

Comandos básicos

sed 's/old/new/' archivo

Reemplaza la primera aparición de “old” por “new” en el archivo.

sed 's/old/new/g' archivo

Reemplaza todas las apariciones de “old” por “new” en el archivo.

sed -n 'p' archivo

Imprime solo el contenido del archivo.

sed 'd' archivo

Elimina el contenido del archivo.

sed '2d' archivo

Elimina la segunda línea del archivo.

sed '2,4d' archivo

Elimina de la segunda a la cuarta línea del archivo.

sed '/pattern/d' archivo

Elimina las líneas que contienen el patrón.

sed -i 's/old/new/g' archivo

Realiza el reemplazo en el archivo y guarda los cambios.

Comandos avanzados

sed -e 'comando1' -e 'comando2' archivo

Ejecuta múltiples comandos.

sed -f script.sed archivo

Lee comandos de un archivo de script.

sed 's/old/new/2' archivo

Reemplaza solo la segunda coincidencia.

sed 's/old/new/3g' archivo

Reemplaza todas las coincidencias a partir de la tercera.

sed 's/\(old\)/\U\1/g' archivo

Reemplaza todos los “old” por mayúsculas.

sed 's/\(old\)/\L\1/g' archivo

Reemplaza todos los “old” por minúsculas.

sed 's/\(old\)/\E\1/g' archivo

Reemplaza todos los “old” por mayúsculas y restaura el caso después del reemplazo.

sed 's/\(old\)/\e\1/g' archivo

Reemplaza todos los “old” por minúsculas y restaura el caso después del reemplazo.

sed 's/old/new/w output.txt' archivo

Escribe el resultado del reemplazo en un archivo.

sed -n 's/old/new/p' archivo

Imprime solo las líneas reemplazadas.

sed -n '/pattern/p' archivo

Imprime solo las líneas que contienen el patrón.

sed -n '1,5p' archivo

Imprime solo de la primera a la quinta línea.

Patrones de selección por pasos

sed -n 'n~mp' archivo

Imprime cada m-ésima línea empezando por la línea n.

Ejemplos:

  • sed -n '1~2p' archivo: Imprime una línea sí y otra no (líneas impares).
  • sed -n '2~2p' archivo: Imprime las líneas pares.
  • sed -n '1~3p' archivo: Imprime cada tercera línea empezando por la primera.
  • sed -n 'n~2p' archivo: Este patrón continúa para cualquier línea de inicio n.