AddThis Social Bookmark Button

La utilería sed (stream editor) es un editor en línea de comando cuyo resultado será escrito en la salida estándar. Es muy funcional para realizar labores masivas o ediciones en bloque a archivos de texto, si el archivo de texto es de un tamaño considerablemente grande, la velocidad de edición de sed es sumamente conveniente.

Introducción

Le editor sed es un editor en línea que lee uno o más archivos de texto o cadenas de entrada mediante pipes, los cuales pueden ser editados de acuerdo a los comandos (scripts) que sean introducidos.

El resultado será escrito en la salida estándar, esto quiere decir que al dar la instrucción de editar algún archivo, este no será modificado, simplemente sed enviará como cadena de salida el texto de este archivo con las modificaciones indicadas en el script.

Si quisieramos escribir la salida en un archivo tendríamos que utilizar el direccionamiento > para que la salida estándar sea escrita en el archivo que le indiquemos. 

Sintaxis básica sed 

Para comenzar a utilizarlo en necesario conocer la sintaxis con la que lo usaremos en la línea de comando, aunque también puede ser utilizado mediante un script shell (Ver tutorial de Programación Shell ). La sintaxis más básica para el comando sed es como sigue:

sed [-n] script [archivo…

Donde el parámetro opcional -n suprime la salida estándar del archivo, pero para instrucciones más complejas podríamos utilizar la siguiente:

sed [-n] [-e script]… [-f archivo_script]… [archivo…]

El parámetro -e indica el script que se utilizará, y el parámetro -f indica que las instrucciones del script serán tomadas de un archivo, en caso de utiliar -f se puede omitir el uso de la opción -e. En caso de escribir los dos parámetros, los scripts serán ejecutados en el orden que fueron especificados.

Sintaxis del script

Para la escritura del script también es necesario cumplir con las reglas de sintaxis. Un script consiste en un comando de edición, y un comando por línea que deberá ser escrito como sigue:

[ ubicacion [ , ubicacion ] ] comando [ argumentos ]

El editor sed acepta espacios en blanco antes de la primera ubicación y antes del comando.

La ubicación puede ser determinada de diferentes maneras:

  • Un número decimal indicando la línea del archivo,
  • un rango de líneas
  • con $ que indica la última línea
  • en blanco
  • una expresión regular