FECHA;VALOR
15/06/12;7
18/06/12;0,5
;0,25
20/06/12;1
;2
;1,5
;2
;0,25
22/06/12;1
;2
;1
;1
;0,5
;1,5
Vemos que la columna FECHA no siempre está relleno y queremos que se complete con el valor de la primera fila anterior con valor no nulo.
Ahí va una solución rápida y sencilla usando el programa awk
15/06/12;7
18/06/12;0,5
;0,25
20/06/12;1
;2
;1,5
;2
;0,25
22/06/12;1
;2
;1
;1
;0,5
;1,5
cat myfile.csv | awk -F';' \ #Inicializo variable que almacena el valor válido 'BEGIN {d=""} \ {if ( $1 != "" ){ #Si no esta vacio asigno el valor d=$1; } #Pinto el valor correcto para la primera columna printf d";"; #y luego el resto for (i=2; i<NF; i++) printf $i ";"; print $NF }'
No hay comentarios:
Publicar un comentario