Petit mémo pour remplacer toutes les occurrences d'une chaîne de caractères dans un fichier. On utilisera la commande SED pour réaliser cette opération.
Utilisation de la commande SED :
# sed -i -e "s/chaines1/chaine2/g" fichier
chaine1 = Chaîne à remplacer.
chaine2 = Nouvelle chaîne de caractères.
fichier = Nom du fichier à traiter.
Exemple :
Remplacer la chaîne de caractères toto du fichier /home/scripts/replace.sh par tata :
# sed -i -e "s/toto/tata/g" /home/scripts/replace.sh
Si des caractère spéciaux sont présent dans les chaînes de caractères, il sera nécessaire de les échapper avec "\".
Exemple :
Remplacer la chaîne de caractères /toto du fichier /home/scripts/replace.sh par /tata
# sed -i -e "s/\/toto/\/tata/g" /home/scripts/replace.sh
Merci pour le tuto.
perl -pi.old -e "s#/toto#/tata#g" /home/scripts/replace.sh
marche aussi bien.