[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]