Sed
Keywords: Sed, Panel SED, Sistema operativo, Unix
- Este artículo trata sobre la herramienta informática. Para la tecnología de pantallas, vea Panel SED.
sed es una potente herramienta de tratamiento de texto para el sistema operativo Unix que acepta como entrada un archivo, lo lee y modifica línea a línea mostrando el resultado en pantalla. Posee muchas características de ed y ex. La sintaxis general del comando sed es:
sed [-n] [-e'script'] [-f archivo] archivo1 archivo2 ...
donde:
- -n indica que se suprima la salida estándar.
- -e indica que se ejecute el script que viene a continuación. Si no se emplea la opción -f se puede omitir -e.
- -f indica que los comandos se tomarán de un archivo
Un script consiste en uno o varios comandos del editor (uno por línea) con la siguiente estructura:
[inicio[,fin]] funcion [argumentos]
donde inicio y fin hacen referencia a las líneas (número de línea) afectadas (o intervalo de líneas), función hace referencia al comando de editor a aplicar y argumentos hace referencia a los argumentos necesarios para la ejecución de la función.
Para expresar los comandos en varias líneas, al final de cada línea se debe añadir el carácter barra invertida "\" antes de pulsar Intro y aparecerá un entorno de línea de comandos con el símbolo mayor que ">".
Ejemplos:
sed '1,$ s/[a-z]/[A-Z]/g' archivo
- Cambia todas las minúsculas a mayúsculas de archivo.
sed '3d' archivo
- Borra la 3ª línea de archivo.
sed 'a\Linea insertada' archivo
- Añade una línea con el contenido "Línea insertada" después de cada línea del archivo.
sed '1,$ s/^[[\[0-9]m//g \
1,$ s/^[[\[0-9]w//g \
1,$ s/^M/^J/g' archivo > archivo.nuevo
- Elimina todas las secuencias de Escape del tipo Xm y Zm que se suelen usar para letras en negrita, etc. para vt100 y cambia el formato de los saltos de línea, de un archivo almacenando los resultados en un archivo nuevo.
Comandos usuales de sed:
- a\ Añade al final de la línea.
- c\ Cambia el contenido del patrón.
- d Borra las líneas afectadas.
- g realiza sustituciones generales.
- i\ Inserta sobre los patrones afectados.
- p Imprime las líneas afectadas, incluso con la opción-n.
- q Abandona el proceso cuando se alcanza la línea especificada.
- r archivo Lee un archivo, añadiendo su contenido a la salida.
- w archivo Copia la línea en archivo.
- = Imprime el número de línea.
- ! comando Aplica el comando si la línea no está seleccionada.
