LINUX - Remplacer une chaîne de caractères dans un fichier en ligne de commande

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

 

1 commentaire sur “LINUX - Remplacer une chaîne de caractères dans un fichier en ligne de commande

  1. Francisco Fernandez Reply

    Merci pour le tuto.
    perl -pi.old -e "s#/toto#/tata#g" /home/scripts/replace.sh
    marche aussi bien.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *