martes, 28 de febrero de 2012

Sed

 Sed es un editor de emisiones (stream editor) utilizado para el procesamiento  de texto en archivos. Utiliza un lenguaje de programación para realizar transformaciones en una emisión de datos leyendo línea por línea de estos. Fue desarrollado entre 1973 y 1974 por Lee E. McMahon de Bell Labs. Está incluido en las instalaciones básicas de prácticamente todas las distribuciones de GNU/Linux.

 Algunas referencias:

http://sed.sourceforge.net/sedfaq.html
http://www.gentoo.org/doc/es/articles/l-sed1.xml

Ejemplos de usos de Sed:
#!/bin/bash

for M in "60" "80"
do 
    
#Borrar hasta antes de la ocurrencia "Tiempo"
    sed '/^Tiempo/,$!d' salida_$M.out
    
#Borrar el bloque de lineas entre ocurrencias 
    sed '/^Tried/,/^Total/d' salida_$M.out
    
#Borrar desde la 5ta linea hasta la ocurrencia "Total"
    sed -i '5,/^Total/d' salida_$M.out 
    
#Uso de -i para modificar archivo original y respaldarlo
    sed -i".dat" -e '/^Tried/,/^Total/d' salida_$M.out
    
#borrar lineas en blanco
    sed '/^$/d' salida_$M.out
    
#Hacer que solamente exista una línea en blanco después de cada frase
    sed '/^$/d;G' salida_$M.out 
    
#Añadir una línea en blanco después de cada frase
    sed G salida_$M.out
    
#Insertar una línea en blanco antes de cada línea que cumpla con una ocurrencia
    sed -i '/fallo/{x;p;x}' salida_$M.out
    sed -i '/se/{x;p;x}' salida_$M.out
    
#Insertar una línea en blanco antes y después de cada línea que cumpla con una ocurrencia
    sed '/Inicio/G' salida_$M.out
    
# leer y remplazar
    echo "texto a rempl"; read remplazar
    echo "por "; read por
    sed "s_"$remplazar"_"$por"_g" < salida_$M.out
    
#Cambiar minsuculas por maysculas la primera letra de una linea
    sed -i 's/^./\u&/' salida_$M.out
    
#Insertar linea de texto antes(i), despues(a) y en la linea(c) 
    sed -i "10a\seg" salida_$M.out 
    
done

No hay comentarios:

Publicar un comentario