El 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.
El funcionamiento de Sed es de la siguiente manera:
- Lectura de una línea desde el flujo de entrada (las líneas están delimitada por un carácter de salto de línea)
- La línea es procesada en función de los comandos leídos
- Muestra (o no) del resultado en la salida estándar (pantalla)
- Continúa con la línea siguiente.
Caracteres especiales de sed
A continuación una breve lista de los caracteres especiales que se usan en sed
- # indica comentario
- d borra lo indicado
- p imprime en la linea de salida
- / separador de patron de expresión regular
- * indica cero o más repeticiones
- . un caracter cualquiera
- ^ Inicio de linea
- $ fin de linea
- [^] lista negada
- H Anexar una nueva línea al contenido.
- g Sustituir una nueva línea.
A continuación algunos ejemplos de como usar sed
- Para borrar comentarios
#!/bin/sh sed ' /begin/,/end/ !{ s/#.*// s/[ ^I]*$// /^$/ d p } '
- Borrar lineas vacias en un archivo:
sed /^$/d data.txt > prueba31.txt
3. Borrar datos de una sola linea
sed '3 s/[ins3]*//' <data.txt >que.txt
4.- Borras lineas después de cierto número
#!/bin/sh sed ' 1! {; H; g; } 1,5 !s/[^\n]*\n// $p h'
Archivos que se utilizaron para probar la línea dos y tres
datos, Modificado
Tarjetas de referencias
Información introductoria sobre sed,
Manual
No hay comentarios:
Publicar un comentario