GNU/Linux >> Tutoriels Linux >  >> Linux

comment supprimer les guillemets doubles dans un csv

Approche la plus simple :

tr -d '"' <a.csv >b.csv

Utilisez gsub() fonction de substitution globale

$ awk '{gsub(/\"/,"")};1' input.csv                    
1,2,3,4,9
1,2,3,6,24
1,2,6,8,28
1,2,4,6,30

Pour envoyer la sortie vers un nouveau fichier, utilisez > opérateur shell :

awk '{gsub(/\"/,"")};1' input.csv > output.csv

Votre approche de fractionnement en tableau peut également être utilisée, bien que ce ne soit pas nécessaire, mais vous pouvez l'utiliser comme suit :

$ awk '{split($0,a,"\""); print a[2]}' input.cvs       
1,2,3,4,9
1,2,3,6,24
1,2,6,8,28
1,2,4,6,30

Notez que dans cette question particulière, le modèle général est que les guillemets sont au début et à la fin de la ligne, ce qui signifie que nous pouvons également traiter cela comme un séparateur de champs, où le champ 1 est nul, le champ 2 est 1,2,3,4 , et le champ 3 est également nul. Ainsi, nous pouvons faire :

awk -F '\"' '{print $2}' input.csv

Et nous pouvons également supprimer la sous-chaîne de toute la ligne :

awk '{print substr($0,2,length($0)-2)}' quoted.csv

En parlant de supprimer les premier et dernier caractères, il y a tout un article sur stackoverflow à ce sujet avec d'autres outils tels que sed et shell POSIX.


Une autre solution avec sed :

sed -e 's/"//g' a.csv > b.csv

Linux
  1. Pourquoi le tilde (~) ne se développe-t-il pas à l'intérieur des guillemets doubles ?

  2. Comment échapper aux guillemets dans Shell ?

  3. Comment supprimer les doublons dans le .bash_history, en préservant l'ordre ?

  4. Comment supprimer le Bom d'un fichier UTF-8 ?

  5. Supprimer la virgule entre les guillemets uniquement dans un fichier délimité par des virgules ?

Comment supprimer le bureau Unity d'Ubuntu 17.10

Comment supprimer les raccourcis sur Google Chrome

Supprimer le répertoire sous Linux - Comment supprimer un dossier de la ligne de commande

Comment supprimer des domaines/sous-domaines dans le cPanel ?

Comment supprimer le gestionnaire de cache cPanel

Comment supprimer le chemin complet lors d'une compression tar.gz ?