Tengo un archivo con miles de entradas como esta:
6/05/2016,32,34,40,45,48,,01,10
10/05/2016,02,26,27,40,49,,05,10
13/05/2016,07,15,28,31,42,,10,11
17/05/2016,15,27,32,36,39,,03,10
Quiero reemplazar la fecha en el primer campo con un número secuencial, comenzando con 800. Entonces esta lista se transformaría en
800,32,34,40,45,48,,01,10
801,02,26,27,40,49,,05,10
802,07,15,28,31,42,,10,11
803,15,27,32,36,39,,03,10
...
¿Cómo puedo hacer eso?
Respuesta1
Con awk
esto es tan simple como
awk -F, -vOFS=, '{$1=n++; print}' n=800 file
Usted establece los delimitadores de entrada y salida en ,
vía -F,
e -vOFS=,
inicializa una variable n
para 800
usar n=800
. La declaración de "acción" {$1=n++; print}
se ejecuta para cada registro, estableciendo el primer campo en un post-incremento n
e imprimiendo el registro reconstituido.