miércoles, agosto 08, 2012

Agregar separador en archivo por posiciones con SED


Una vez instalado el comando SED en Windows.

Tenemos el archivo prueba.txt que contiene:


 
Para mostrar de la linea 5 a la 8

type prueba.txt | sed -n "5,8p"


Para mostrar de la linea 10 al final del archivo
type prueba.txt | sed -n "10,$p"

USAR SED POR POSICIONES.


Tenemos el archivo prueba con el siguiente contenido.
Prueba.txt
abbcccddddeeeeefffff
12345678901234567890
23456789012345678901
34567890123456789012
45678901234567890123
56789012345678901234
67890123456789012345
78901234567890123456
89012345678901234567
90123456789012345678
01234567890123456789
12345678901234567890
23456789012345678901
34567890123456789012
45678901234567890123
56789012345678901234
67890123456789012345
78901234567890123456

Necesitamos dar formato a cada linea del archivo por posiciones y agregar un separador, en este caso punto y coma.

 
Para ello se utilize el siguiente commando.
Commando:
sed  "s/^(.{1})(.*)/\2;\1/"  prueba.txt

^         = Inicio de la linea
{1}       = Posicion 1
(.{1})    = Primer Campo
(.*)      = segundo campo con el resto de la linea
\2;\1     = Imprime el segundo campo, punto y coma y al final el primer campo.

Para que se pueda ejecutar sin errores se agregan diagonales invertidas a los paréntesis y llaves.

sed  "s/^\(.\{1\}\)\(.*\)/\2;\1/"  prueba.txt
 

Happy Conding!

No hay comentarios.:

.