CSV et sed

Résolu
yann747 Messages postés 128 Statut Membre -  
zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

je cherche à transformer avec sed un fichier du type (séparation par tabulation)

a1 a2 a3 a4 a5
b1 b2 b3 b4 b5
c1 c2 c3 c4 c5

en:

"a1";"a2";"a3";"a4";"a5";
"b1";"b2";"b3";"b4";"b5";
"c1";"c2";"c3";"c4";"c5";

1 réponse

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    $ cat brol 
    a1	a2	a3	a4	a5
    b1	b2	b3	b4	b5
    c1	c2	c3	c4	c5
    
    $ sed 's/\t/";"/g;s/^/"/;s/$/";/' brol 
    "a1";"a2";"a3";"a4";"a5";
    "b1";"b2";"b3";"b4";"b5";
    "c1";"c2";"c3";"c4";"c5";
    
    $

    ;-))
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Une variante :

      sed 's/[[:alnum:]]*/"&"/g;s/\t\|$/;/g'
      0
    2. yann747 Messages postés 128 Statut Membre 2
       
      Wow trop la classe! Impec du premier coup...
      sed est bien puissant mais un peu indigeste quand on a un petit niveau...
      Merci encore Mr Zipe, deux sauvetages en deux jours :-)
      0
    3. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Pour s'amuser un peu, à condition que chaque champ n'ait aucun espace :

      sed 's/\b/"/g;s/\t\|$/;/g'
      0