Modifier caracteres dans un fichier texte

Résolu
mcgill_63 -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

J'ai plusieurs fichiers de donnees (textes), je dois les lire sur SAS, mais avant de le faire j'aimerais remplacer toutes les virgules qui correspondent aux decimales par des points afin que SAS puisse les lire correctement. Y a-t-il une facon de le faire par des commandes linux?

Merci d'avance.

Je suis sur fedora 9

kernel 2.6.27.25-78.2.56.fc9.i686.PAE

3 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Au choix, "tr" ou "sed" ou autres...

    $ echo -e "a,b,c,d,e,f,g\nh,i,j,i,k,i,l"
    a,b,c,d,e,f,g
    h,i,j,i,k,i,l
    
    $ echo -e "a,b,c,d,e,f,g\nh,i,j,i,k,i,l" | tr ',' '.'
    a.b.c.d.e.f.g
    h.i.j.i.k.i.l
    
    $ echo -e "a,b,c,d,e,f,g\nh,i,j,i,k,i,l" | sed 's/,/./g'
    a.b.c.d.e.f.g
    h.i.j.i.k.i.l
    
    $

    ;-))
    0
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    j'aimerais remplacer toutes les virgules qui correspondent aux decimales par des points afin que SAS puisse les lire correctement.

    Si j'ai bien compris il faut modifier la virgule que pour les nombres non?
    En ce cas il faut d'abord faire un test qu'il s'agit des chiffres et ensuite faire le remplacement.

    GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
    106485010510997108
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Re- aussi ;-)

      Remarque très pertinente s'il en est ;-)

      Merci ;-)
      0