shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Remover aspas somente em um campo


From: Rodrigo Boechat
Subject: Re: [shell-script] Remover aspas somente em um campo
Date: Mon, 06 Feb 2012 18:11:01 -0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:9.0) Gecko/20111224 Thunderbird/9.0.1

Veja se te atende.

OBS: O arquivo de entrada não deve possuir "underscore".
OBS2: Eu tirei manualmente os ` que achei na sua linha de exemplo. Acho 
que dá para limpar isso automaicamente no próprio script.

echo 
'"3550324077404780",\N,"01/12/2011",400.00,"SIMPSON","HOMER","17/10/1965","M","","CARTE
 
IDENTIFICATION NATIONALE","03-04-95-1982-10-00010","LATES","98, RUE 
LAJE","LATES 35","C180 GREY","MACON","ULTRALOW/DUALBAND900","01/12/2011 
10:41:55 AM"' >> arquivoDeEntrada

while read linha; do

read data <<< $(echo $linha | awk -F ',' '{print $3}')

read data <<< $(echo $data | sed -e "s/\"//g; s/\//_/g")

echo $linha | sed -e "s/\//_/g; s/\"$data\"/$data/; s/_/\//g" >> 
arquivoDeSaida

done < arquivoDeEntrada

Abraço!

Em 06-02-2012 17:18, Eri Ramos Bastos escreveu:
>
> Olá, Lista.
>
> Estou tentando achar uma forma simples de remover aspas de apenas um tipo
> de campo (data em formato DD/MM/YYYY) num arquivo CSV:
>
> "3550324077404780",\N,"01/12/2011",400.00,"SIMPSON","HOMER","17/10/1965","M","","CARTE
> IDENTIFICATION NATIONALE","03-04-95-1982-10-00010","LATES`","98, RUE
> LAJE","LATES 35`","C180 GREY","MACON","ULTRALOW/DUALBAND900","01/12/2011
> 10:41:55 AM"
>
> Iria virar:
>
> "3550324077404780",\N,01/12/2011,400.00,"SIMPSON","HOMER",17/10/1965,"M","","CARTE
> IDENTIFICATION NATIONALE","03-04-95-1982-10-00010","LATES`","98, RUE
> LAJE","LATES 35`","C180 GREY","MACON","ULTRALOW/DUALBAND900","01/12/2011
> 10:41:55 AM"
>
> Essa regex funciona com o egrep, mas não consegui capturar usando o sed:
>
> '"[0-9]{2}/[0-9]{2}/[0-9]{4}"'
>
> Sugestões?
>
> []'s
> Eri Ramos Bastos
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]