Insertar texto y expresiones regulares
Pablo Salinas Rivera
psalinasrivera en gmail.com
Jue Jun 8 03:43:25 CLT 2006
luisviveropenna en cdsl.cl wrote:
> Holas,
>
> Tengo que insertar dos comas en un archivo que tiene la siguiente forma:
>
> 123213,32322,-180,324343,324432
> 23243,5655,-180,566556,56545
> 34456f7,55475,-240,454,767765
>
> Las dos comas deben ser insertadas inmediatamente despues de la tercera
> coma, para quedar asi:
>
> 123213,32322,-180,,,324343,324432
> 23243,5655,-180,,,566556,56545
> 34456f7,55475,-240,,,454,767765
>
> El numero despues del cual se agregan las comas es variable, como tambien
> el numero de caracteres despues del cual se agregan.
> Lo unico fijo es que se agregan despues de la tercera coma.
>
> Creo que puede hacerse con sed, o perl, pero tendria que contar las comas,
> o poner cada linea en un string y despues recorrerlo, pero seria demasiado
> show para un archivo de app 6.000.000 de filas :S
>
> Alguna idea? --> le pego poco a las expresiones regulares.
awk 'BEGIN{FS=","; OFS=","}{print $1,$2,$3,",,"$4,$5;}' archivo_origen
entrega el resultado a la salida standar. Con esta solución poco hay de
expresiones regulares, mas bien usar convenientemente los separadores de
campo de entrada y salida.
--
pablo salinas rivera
usuario linux #221909 (http://counter.li.org)
Más información sobre la lista de distribución Linux