Eu tenho que processar um csv contendo cerca de 15 colunas, uma das quais contém um carimbo de data/hora específico que inclui milissegundos. Quando vou inserir este csv em um banco de dados, recebo um erro devido a esse formato de hora específico. Não consigo mexer nas outras colunas, mas preciso truncar a saída da 6ª coluna e criar um novo arquivo.
Um exemplo é:
73306758;Da Lavorare;;20300;RESTAROC;10/10/2014 16:37:22.425;PALAGIANO;TA;PUGLIA;;Libretto;IDENTITA;AI2000000;OK;DOC Valido;0;0;CCCMNN85X26X251X;OK;CF Attribuito;0;0
Responder1
Supondo que você queira remover quaisquer casos :
seguidos de números da 4ª coluna (você diz o 6º na sua pergunta, mas é o 4º no seu exemplo), você pode usar um destes:
estranho
awk -F';' -v OFS=";" '{sub(/\.[0-9]*$/,"",$6);}1;' file.csv > new.csv
Perl (isso altera o arquivo real e mantém o original como
file.csv.bak
)perl -i.bak -F';' -ane '$F[5]=~s/\.[0-9]*$//; print join ",", @F' file.csv