Boa noite amigos!
Bom, pra começar, eu gostaria de dizer que já arrumei um workaround pro problema proposto, porém, eu gostaria de entender pq ele acontece. Vou explicar o que ocorre e como consegui dar a volta no problema, porém, gostaria de entender o que ocorre!
Tenho um arquivo csv contendo o seguinte cabeçalho:
header.csv:
purl,fname,mname,lname,address,city,state,zip,zip4,seq_num,pin,code,cardno,cardshort,card1,card2,card3,card4,exp_date,card_no_for_print,expirydatecard,ivrno,maildate
E aqui vai uma entrada pra passar dados relativos a esse cabeçalho:
joseoliveira.myurl.com,José,,Oliveira,10521 casa das couves,bananal,RS,27503,9290,1,650b263c5d,21811469,22222222222,11111111,33333,4444,5555,6666,"Dec 01, 2021",0000 0000 0000 0000,12/21,(888) 888-8888,11/01/21
Então eu criei um script para ler os campos e jogar para dentro de um arquivo.txt:
#!/bin/bash
tempResult='header.csv'
BULLDOGDATA='bulldog_data.txt'
> $BULLDOGDATA
while IFS=, read -r purl fname mname lname address city state zip zip4 seq_num pin code cardno cardshort card1 card2 card3 card4 exp_date card_no_for_print expirydatecard ivrno maildate;
do
echo "$purl,$fname,$lname,$address,$city,$state,$zip-$zip4,$seq_num,$code,$maildate" >> $BULLDOGDATA
done < $tempResult
=============================================================================================================================================================
Então começa o problema:
cat $BULLDOGDATA
purl,fname,lname,address,city,state,zip-zip4,seq_num,code,maildate
joseoliveira.myurl.com,José,Oliveira,10521 casa das couves,bananal,RS,27503-9290,1,21811469,
(888) 888-8888,11/01/21
Por alguma razão que eu desconheço, o script trata o último separador como parte do campo.
Para resolver isso de curto prazo, eu criei adicionei mais um item de cabeçalho ficando assim:
while IFS=, read -r purl fname mname lname address city state zip zip4
seq_num pin code cardno cardshort card1 card2 card3 card4 exp_date
card_no_for_print expirydatecard ivrno aaa maildate;
do
Que então me retorna:
purl,fname,lname,address,city,state,zip-zip4,seq_num,code,
joseoliveira.myurl.com,José,Oliveira,10521 casa das couves,bananal,RS,27503-9290,1,21811469,
11/01/21
Alguém ter como me explicar porque ocorre e qualquer seria a forma elegante de tratar?
Muito obrigado!!!
.....
--
George Robinson
Analista de Suporte
Tel: +55 (21) 97449-8138
_______________________________________________