alterando uma 'coluna' específica dentro de um arquivo txt

1

Eu tenho um arquivo com milhares 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

Eu quero substituir a data no primeiro campo por um número seqüencial, começando com 800. Portanto, essa lista seria transformada em

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
...

Como faço isso?

    
por SpaceDog 20.05.2016 / 22:15

1 resposta

3

Com awk é tão simples quanto

awk -F, -vOFS=, '{$1=n++; print}' n=800 file

Você define os delimitadores de entrada e saída como , via -F, e -vOFS=, e inicializa a variável n a 800 usando n=800 . A instrução "action" {$1=n++; print} é executada para cada registro, configurando o primeiro campo para um pós-incremento n e imprimindo o registro reconstituído

    
por 20.05.2016 / 22:21