Commande SED
Romain
-
jipicy Messages postés 41342 Statut Modérateur -
jipicy Messages postés 41342 Statut Modérateur -
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 ?
A voir également:
- Commande SED
- Invite de commande - Guide
- Commande terminal mac - Guide
- Diskpart commande - Guide
- Commande dism - Guide
- Commande scannow - Guide
4 réponses
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
donc le fichier 070204 sera modifier et 070204.orig sera la copie de sauvegarde
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 ?
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 ?