remplacer la chaîne de texte dans le fichier [Guide]
La modification manuelle de documents textuels sous Linux peut s'avérer une tâche fastidieuse. C'est pourquoi il est judicieux de maîtriser l'art de substituer rapidement des séquences de caractères à l'intérieur de fichiers, et ce, via la ligne de commande. Si vous êtes novice sur Linux et que vous ne savez pas comment procéder, pas d'inquiétude! Nous allons vous guider pas à pas pour remplacer une chaîne de caractères dans un fichier sous Linux.
Utiliser Sed pour la substitution de texte
L'utilitaire sed est une solution de choix pour remplacer du texte dans un fichier sous Linux. Sa simplicité d'emploi et son efficacité en font un outil précieux. De plus, il est généralement préinstallé sur la grande majorité des distributions Linux, ce qui évite de devoir l'installer.
Pour remplacer du texte avec sed, on emploie la commande sed -i. Voici comment procéder. Commencez par ouvrir un terminal sur votre bureau Linux. Vous pouvez généralement le faire en pressant les touches Ctrl + Alt + T.
Une fois le terminal ouvert, saisissez sed -i. C'est l'amorce de la commande de substitution.
sed -i
Après avoir entré sed -i, ajoutez une apostrophe. Cette apostrophe est essentielle, car le texte à remplacer devra être spécifié après cette marque.
sed -i '
Après l'apostrophe, tapez s/. L'instruction s/ précède le texte existant que vous souhaitez remplacer.
sed -i 's/
Maintenant que s/ est saisi, il faut indiquer à sed quel texte substituer. Dans notre exemple, nous allons remplacer le mot "pomme".
sed -i 's/pomme
Une fois le texte à remplacer spécifié, il faut indiquer le nouveau texte qui prendra sa place. Dans cet exemple, nous allons remplacer "pomme" par "orange".
sed -i 's/pomme/orange
Lorsque le texte de remplacement (ici "orange") est saisi, il faut clore la commande avec g/. L'instruction g/ indique à sed de remplacer toutes les occurrences du texte (pomme) par le nouveau texte (orange). Le résultat devrait ressembler à l'exemple ci-dessous.
Remarque : Si vous ne souhaitez pas remplacer *toutes* les occurrences, omettez le g et exécutez la commande sous la forme sed -i 's/pomme/orange/'.
sed -i 's/pomme/orange/g'
Enfin, indiquez à sed dans quel fichier se trouve le texte à substituer. Dans cet exemple, le fichier cible est fruit.txt, situé dans le répertoire personnel.

sed -i 's/pomme/orange/g' ~/fruit.txt
Appuyez sur Entrée pour exécuter la commande et substituer le texte dans votre fichier.
Utiliser Perl pour la substitution de texte
Une autre méthode pour remplacer du texte dans un fichier sous Linux est d'utiliser le langage de programmation Perl. Perl est largement utilisé pour la manipulation de texte, ce qui en fait un outil idéal pour ce type de tâche.
Pour commencer, assurez-vous que Perl est installé sur votre système Linux. La plupart des distributions sont livrées avec Perl préinstallé. Toutefois, si ce n'est pas le cas, consultez la documentation de votre système d'exploitation pour savoir comment l'installer.
L'utilisation de Perl pour remplacer du texte nécessite également le terminal. Ouvrez-en un en pressant Ctrl + Alt + T ou en recherchant "Terminal" dans le menu d'applications.
Une fois le terminal ouvert, saisissez perl -pe. C'est la commande de base pour substituer du texte avec Perl.
perl -pe
Après avoir tapé perl -pe, il faut insérer une apostrophe. Cette marque délimite la zone de la commande où l'on spécifie le texte à remplacer.
perl -pe '
Après l'apostrophe, tapez s/, suivi du texte à remplacer, puis un autre /. Par exemple, pour remplacer "pomme" dans le fichier fruit.txt, vous devez saisir ceci :
perl -pe 's/pomme/
Après avoir saisi le(s) mot(s) à remplacer, spécifiez le mot qui prendra sa place. Par exemple, pour substituer "pomme" par "orange" dans fruit.txt, vous devez saisir perl -pe 's/pomme/orange/'.
perl -pe 's/pomme/orange/
Une fois les deux chaînes de caractères saisies dans la commande, il faut spécifier le fichier d'entrée utilisé par Perl. Par exemple, si vous souhaitez remplacer du texte dans le fichier fruit.txt, il faut l'indiquer dans la commande.
Remarque : Dans cet exemple, fruit.txt se trouve dans le répertoire personnel (~/). Adaptez le chemin vers votre fichier texte si nécessaire.
perl -pe 's/pomme/orange/' ~/fruit.txt
Une fois le fichier d'entrée spécifié, votre commande devrait ressembler à l'exemple ci-dessous.

perl -pe 's/pomme/orange/' ~/fruit.txt > /tmp/output.txt;cat /tmp/output.txt > ~/fruit.txt
Lorsque la commande ci-dessus est exécutée, le texte spécifié sera remplacé par le nouveau texte. Dans notre cas, nous avons substitué "pomme" par "orange". Pour voir les modifications, saisissez la commande ci-dessous.
cat fruit.txt