Mantenha apenas N caracteres de coluna específica

1

Estou tentando tratar um arquivo CSV que manterei apenas os 10 primeiros caracteres de valores de coluna específicos.

Os valores dos campos estão dentro de "" e tem uma vírgula no meio que me dá erros e que eu consiga corrigir, mas não consigo recuperar e manter apenas os 10 primeiros caracteres do campo depois disso. As colunas estão nos índices 12 e 17. Veja como eu tentei:

awk -F'"' -v OFS='' '{ for (i=2; i<=NF; i+=2)
                           if ($i == 12 || $i == 17)
                             print substr($i,index($0,$9))
                           else  gsub(",", "", $i)
} 1' $1 > testTREATED.csv

Eu tenho algo parecido com isso no CSV:

ID,ID_CUSTOMER,CUSTOMER_FULLNAME,TYPE_DOCUMENT,NUM_DOCUMENT,CUSTOMER_NAME,LASTNAME1_CUSTOMER,LASTNAME2_CUSTOMER,F_UID,L_UID,ID_LIST,ID_ACCOUNT,DATE_OF_BIRTH,CASE,ANALIST,COMMENTS,COMMENTS2,START_DATE,ORGUNIT_ID,AMOUNT,TYPE
0001,,SWISS CHOCOLATE LTD,,,,SWISS CHOCOLATE LTD,,,000000-000000,XX,,,,,,,"25/06/2007 23:45:65, 000000000",0,,

e quero que o campo de data seja assim:

25/06/2007

Alguém pode me ajudar com isso? :) Obrigado!

    
por Bord_up 23.07.2018 / 14:38

1 resposta

2

e sobre awk -F, 'BEGIN {FS=",";OFS=","} {print $1,$2,$3,$4,substr($5,2,10),$7,substr($8,2,10)}' YourFileName

    
por 23.07.2018 / 15:30

Tags