CSV et sed

Résolu
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. Contributeur
    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. Contributeur
      Une variante :

      sed 's/[[:alnum:]]*/"&"/g;s/\t\|$/;/g'
      0
    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. Contributeur
      Pour s'amuser un peu, à condition que chaque champ n'ait aucun espace :

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