Analyser un fichier CSV sous UNIX, mais aussi gérer des données dans “”

J’essaie d’parsingr un fichier CSV sous UNIX en utilisant AWK ou un script shell. Mais je suis confronté à un problème ici. Si les données sont entre guillemets (“,”), je souhaite remplacer la virgule (,) par un espace vide et supprimer les guillemets. En outre, ces données peuvent se produire plusieurs fois dans un seul enregistrement.

Par exemple: Considérez cette entrée

20, Manchester, “Barclays, League”, xyz, 123, “95, certains, données”,

la sortie devrait être comme suit

20, Manchester, Barclays League, xyz, 123,95 certaines données,

Comment peut-on le faire b commandes de base UNIX ou scripting. S’il vous plaît aidez-moi à ce sujet ….

  

Voici comment vous le faites en utilisant sed in shell:

 sed -i '.orig' -e ':a' -e 's/^\([^"]*\)"\([^,"]*\)"\(.*\)$/\1\2\3/g' \ -e 's/^\([^"]*\)"\([^,"]*\),\([^"]*\)"\(.*\)$/\1"\2 \3"\4/;ta' file.csv