Como remover um apóstrofo (') do par de colunas de um arquivo .CSV?

3

Eu tenho um arquivo .CSV com 7 campos e as colunas 3 e 4 do arquivo tem um número começando com um apóstrofo ('). Por favor, veja o exemplo abaixo.

col0,col1,col2,col3,col4,col5,col6,
1value0,1value1,'8972991766941,'8972991766941,1value4,1value5,1value6,
2value0,2value1,'8912988876583,'8912988876583,2value4,2value5,2value6,
3value,3value1,'8912981226981,'8912981226981,3value4,3value5,3value6,
2value0,4value1,'8912971783681,'8912971783681,4value4,4value5,4value6,

Como faço para me livrar dos apóstrofos nas colunas 3 e 4 usando apenas sed ou awk?

    
por Dhruuv 10.09.2013 / 19:51

2 respostas

3

Você pode fazer isso com awk , a ideia é executar um sub Comando stitute nas colunas 3 e 4 para substituir a aspa simples por uma em branco. Aqui 7 representa o código octal para ' .

 awk -F, -v OFS=, '{sub(/7/, "", $3); sub(/7/, "", $4); print}' file.txt
    
por 10.09.2013 / 20:02
2

Use o outro trimestre de cotação

sed "s/'//g" file

ou finalizando a citação, escape do apóstrofo e comece a citar novamente

sed 's/'\''//g' file

neste caso, não há citações necessárias, exceto para o apóstrofo que tem um significado especial para o shell

sed s/\'//g file

isto também pode ser feito usando as aspas duplas

sed s/"'"//g file

Eu percebi, depois de ler os comentários neste post, que não resolvi a pergunta original, mas corrigi um post de comando em um comentário do OP.

    
por 10.09.2013 / 20:03