awk arquivo csv anexar números

0

Eu tenho o arquivo CSV abaixo

vol123,12/05/2016,ABC
vol123,12/05/2016,ABC
vol123,12/05/2016,ABC
vol123,14/05/2016,ABC
vol123,13/05/2016,ABC
vol123,12/05/2016,ABC
vol123,12/05/2016,ABC
vol123,18/05/2016,ABC
vol123,12/05/2016,ABC
vol123,12/05/2016,ABC
vol123,12/05/2016,ABC
vol123,12/05/2016,ABC
vol123,19/05/2016,ABC
vol123,12/05/2016,ABC
vol123,12/05/2016,ABC
vol123,20/05/2016,ABC
vol123,12/05/2016,ABC
vol123,12/05/2016,ABC
vol123,22/05/2016,ABC
vol123,12/05/2016,ABC
vol123,12/05/2016,ABC

Eu quero mudar isso como abaixo,

vol123,12/05/2016,ABC1
vol123,12/05/2016,ABC2
vol123,12/05/2016,ABC3
vol123,14/05/2016,ABC4
vol123,13/05/2016,ABC5
vol123,12/05/2016,ABC6
vol123,12/05/2016,ABC7
vol123,18/05/2016,ABC8
vol123,12/05/2016,ABC9
vol123,12/05/2016,ABC10
vol123,12/05/2016,ABC1
vol123,12/05/2016,ABC2
vol123,19/05/2016,ABC3
vol123,12/05/2016,ABC4
vol123,12/05/2016,ABC5
vol123,20/05/2016,ABC6
vol123,12/05/2016,ABC7
vol123,12/05/2016,ABC8
vol123,22/05/2016,ABC9
vol123,12/05/2016,ABC10
vol123,12/05/2016,ABC1

Eu quero um número de acréscimo à última coluna. O intervalo numérico é de 1 a 10. Eu quero 1 novamente no 11º registro, então o append deve funcionar em loop.

Por favor, ajude-me, pois não posso conseguir isso usando o comando awk.

    
por user177620 01.07.2016 / 07:19

1 resposta

5

Você pode usar awk para anexar o número da linha ( NR ) a cada linha com:

awk '{print $0 NR}' file

Se você quiser imprimir o restante quando o número da linha for dividido por 10:

awk '{print $0 NR%10}' file

Isso imprime o que você deseja, exceto que imprime 0 em vez de 10 . Se você precisar de 10 , poderá calcular (NR - 1)%10 + 1 :

awk '{print $0 (NR - 1)%10 + 1}' file

Resultado:

vol123,12/05/2016,ABC1
vol123,12/05/2016,ABC2
vol123,12/05/2016,ABC3
vol123,14/05/2016,ABC4
vol123,13/05/2016,ABC5
vol123,12/05/2016,ABC6
vol123,12/05/2016,ABC7
vol123,18/05/2016,ABC8
vol123,12/05/2016,ABC9
vol123,12/05/2016,ABC10
vol123,12/05/2016,ABC1
vol123,12/05/2016,ABC2
vol123,19/05/2016,ABC3
vol123,12/05/2016,ABC4
vol123,12/05/2016,ABC5
vol123,20/05/2016,ABC6
vol123,12/05/2016,ABC7
vol123,12/05/2016,ABC8
vol123,22/05/2016,ABC9
vol123,12/05/2016,ABC10
vol123,12/05/2016,ABC1
    
por 01.07.2016 / 07:36

Tags