Modifier caracteres dans un fichier texte

Résolu
mcgill_63 -  
jipicy Messages postés 41342 Statut Modérateur -
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
A voir également:

3 réponses

jipicy Messages postés 41342 Statut Modérateur 4 896
 
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
mcgill_63
 
Merci jipicy.
0
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité 3 570
 
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
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Re- aussi ;-)

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

Merci ;-)
0