Édition les fichiers texte sur Linux à la main peuvent être fastidieux. C’est pourquoi il est bon de savoir comment remplacer rapidement des chaînes de texte dans des fichiers à l’aide de la ligne de commande. Si vous êtes nouveau sous Linux et que vous ne savez pas comment le faire, nous pouvons vous aider! Suivez-nous pendant que nous vous montrons comment remplacer une chaîne de texte dans un fichier sous Linux!
Remplacer la chaîne de texte dans le fichier-sed
L’outil sed est le meilleur moyen de remplacer une chaîne de texte dans un fichier sous Linux. La raison? Il est simple à utiliser et fait très bien son travail. Sed est généralement préinstallé sur 99% des systèmes d’exploitation Linux, il n’est donc pas nécessaire de l’installer pour l’utiliser.
Le remplacement d’une chaîne de texte dans un fichier par Sed se fait avec la commande sed-i . Voici comment l’utiliser. Tout d’abord, ouvrez une fenêtre de terminal sur le bureau Linux. Vous pouvez ouvrir une fenêtre de terminal en appuyant sur Ctrl + Alt + T sur le clavier.
Une fois que la fenêtre du terminal est ouverte et prête à être utilisée, écrivez sed-i dans l’invite du terminal. C’est le début de la commande de remplacement.
sed-i
Après avoir écrit la commande sed-i , ajoutez un”guillemet”. Ce guillemet est essentiel, car tout le texte remplacé par sed-i doit commencer après cette marque.
sed-i'
À la suite de la première marque ‘, écrivez s/. Le s/ précède directement le texte existant que vous souhaitez remplacer à l’aide de sed .
sed-i's/
Maintenant que le s/ est écrit dans l’invite de ligne de commande du terminal, il est temps d’indiquer à sed quel texte remplacer dans le fichier. Dans cet exemple, nous remplacerons le mot”pomme”.
sed-i's/apple
Lorsque le texte que nous voulons remplacer est écrit dans la commande, l’étape suivante consiste à écrire le nouveau texte qui le remplacera. Dans cet exemple, nous remplacerons”pommes”par”oranges”.
sed-i's/pommes/oranges
Une fois que le texte que nous voulons remplacer est écrit dans la commande (oranges), fermez la commande avec g/. Le g/ indique à sed de remplacer toutes les instances de texte (pommes) par le nouveau texte (oranges). Cela devrait ressembler à l’exemple ci-dessous.
Remarque: si vous ne souhaitez pas remplacer tous les textes du fichier (des pommes aux oranges, par exemple), supprimez le g et faites-le exécuter comme sed-i's/pommes/oranges/'
à la place.
sed-i's/pomme/orange/g'
Enfin, indiquez à sed dans quel fichier se trouve le texte qui doit être remplacé. Dans cet exemple, fruit.txt dans le répertoire personnel est la cible.
sed-i's/pommes/oranges/g'~/fruit.txt
Appuyez sur la touche Entrée pour exécuter la commande et remplacer votre chaîne de texte dans le fichier.
Remplacer la chaîne de texte dans le fichier-Perl
Une autre façon de remplacer une chaîne de texte dans un fichier sous Linux est d’utiliser le langage de programmation Perl. Perl est beaucoup utilisé pour le traitement de texte, donc naturellement, il peut échanger des chaînes de texte dans des fichiers et est parfait pour ce cas d’utilisation.
Pour commencer, assurez-vous que Perl est installé sur votre PC Linux. La plupart des systèmes d’exploitation Linux sont livrés avec Perl installé. Cependant, si vous ne l’avez pas, consultez la page d’aide de votre système d’exploitation pour savoir comment le faire fonctionner.
L’utilisation de Perl pour remplacer des chaînes de texte dans un fichier nécessite le terminal. Ouvrez un terminal sur le bureau Linux en appuyant sur Ctrl + Alt + T sur le clavier. Ou recherchez”Terminal”dans le menu de l’application et lancez-le de cette façon.
Une fois la fenêtre du terminal ouverte et prête à être utilisée, commencez par taper perl-pe dans l’invite de ligne de commande. La commande perl-pe est ce qui est nécessaire pour remplacer une chaîne de texte dans un fichier.
perl-pe
Après avoir écrit perl-pe dans l’invite du terminal, vous devrez commencer par le premier guillemet ‘. Cette marque indique à Perl où se trouve la zone de remplacement de texte dans la commande.
perl-pe'
À la suite du premier guillemet ‘, ajoutez s/, suivi de la chaîne de texte que vous souhaitez remplacer et d’un autre /. Par exemple, pour remplacer”pommes”dans le fichier fruit.txt, vous devez écrire le texte suivant.
perl-pe's/pommes/
Après avoir écrit le (s) mot (s) que vous souhaitez remplacer, ajoutez le mot qui remplacera le texte existant. Par exemple, si vous souhaitez remplacer «pommes» dans «fruit.txt» par «oranges», ajoutez «oranges» après perl-pe's/apples/
pour qu’il ressemble à perl-pe's/pommes/oranges/
.
perl-pe's/pommes/oranges/
Une fois que les deux chaînes de texte sont dans la commande, vous devrez spécifier le fichier d’entrée que Perl utilise. Par exemple, si vous souhaitez remplacer du texte dans le fichier”fruit.txt”, vous devrez le spécifier dans la commande.
Remarque: dans cet exemple, le fichier «fruit.txt» se trouve dans le répertoire personnel (~/). Assurez-vous de remplacer”~/fruit.txt”par l’emplacement de votre fichier texte pour que la commande fonctionne.
perl-pe's/pommes/oranges/'~/fruit.txt
Maintenant que le fichier d’entrée (le fichier que vous modifiez avec Perl) est ajouté à la commande, la commande devrait ressembler à celle ci-dessous.
perl-pe's/pommes/oranges/'~/fruit.txt>/tmp/output.txt;cat/tmp/output.txt> ~/fruit.txt
Lorsque la commande ci-dessus est exécutée, la chaîne de texte sera remplacée par le nouveau texte que vous avez spécifié. Dans notre exemple, nous avons remplacé”pommes”par”oranges”. Pour afficher les modifications, entrez la commande ci-dessous.
fruit de chat.txt