GNU/Linux >> Tutoriels Linux >  >> Linux

Comment remplacer une chaîne dans plusieurs fichiers en ligne de commande Linux

Similaire à la réponse de Kaspar mais avec le drapeau g pour remplacer toutes les occurrences sur une ligne.

find ./ -type f -exec sed -i 's/old_string/new_string/g' {} \;

Pour global insensible à la casse :

find ./ -type f -exec sed -i 's/old_string/new_string/gI' {} \;

cd /path/to/your/folder
sed -i 's/foo/bar/g' *

Les occurrences de "foo" seront remplacées par "bar".

Sur les systèmes BSD comme macOS, vous devez fournir une extension de sauvegarde comme -i '.bak' ou bien "risquer la corruption ou le contenu partiel" selon la page de manuel.

cd /path/to/your/folder
sed -i '.bak' 's/foo/bar/g' *

Linux
  1. Comment renommer des fichiers sous Linux

  2. Comment supprimer des fichiers et des répertoires sous Linux à partir de la ligne de commande

  3. Comment compresser plusieurs fichiers sous Linux

  4. Comment remplacer une chaîne dans un ou plusieurs fichiers ?

  5. Comment remplacer un fichier en jar par une ligne de commande sous Linux ?

Comment utiliser sed pour rechercher et remplacer une chaîne dans des fichiers

Comment utiliser le proxy sur la ligne de commande Linux ?

Comment démarrer en ligne de commande Linux

Comment utiliser la commande SED pour rechercher et remplacer une chaîne dans des fichiers

Comment compter les fichiers dans le répertoire sous Linux

Comment trouver une adresse IP dans la ligne de commande Linux