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