Commande SED
Romain
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
j'ai un souci avec ma commade SED. J'utilise la ligne suivante :
sed 's/mot1/TEST/' 070204 > 070204.out
et seul le 1er " mot1" est modifié alors que dans mon fichier 070204 j'ai plusieurs "mot1".
Y'a t il une option au SED pour lui dire de faire tout le fichier et pas seulement le premier mot qu'il rencontre ?
j'ai un souci avec ma commade SED. J'utilise la ligne suivante :
sed 's/mot1/TEST/' 070204 > 070204.out
et seul le 1er " mot1" est modifié alors que dans mon fichier 070204 j'ai plusieurs "mot1".
Y'a t il une option au SED pour lui dire de faire tout le fichier et pas seulement le premier mot qu'il rencontre ?
Configuration: Windows XP Internet Explorer 6.0
4 réponses
-
Essaye ceci :
sed 's/mot1/TEST/g' 070204 > 070204.out -
Salut,
tu peux faire la modification directement sur le fichier et en même temps faire une copie de sauvegarde en utilisant l'option -i avec un suffixe
sed -i.orig 's/mot1/TEST/g' 070204
donc le fichier 070204 sera modifier et 070204.orig sera la copie de sauvegarde -
Merci pour ces réponses, mais en fait je connaissais déjà SED -i ... mais sur le serveur ou j'essaye de faire ma commande il ne connait pas le parametre "-i".
J'ai donc mis le param "g" pour modifier tout mon fichier. J'essaye de remplacer des "." par des virgules, je tape ca :
sed 's/./,/g' 070204 > 070204.out
A partir de mon fichier 070204 j'ai des données du style :
07/02/04;listevaleur;.20;.42;.45
mais avec ma commande SED comme ici ecrite je n'obtiens que des virgules, le reste du texte n'est pas copier dans mon fichier "out". Une idée ? -
Salut,
sed 's/\./,/g' 070204 > 070204.out
;-))