Comment remplacer une variable dans un fichier en utilisant SED?

Comment remplacer une variable dans un fichier en utilisant SED?

Steam Editor, raccourci en SED, est une commande utilisée pour trouver et remplacer tout texte dans un fichier en utilisant diverses techniques et syntaxes. Dans cet article, nous saisirons les concepts de SED et apprendreons comment remplacer une variable ou sa valeur dans un fichier en utilisant SED.

La syntaxe pour remplacer la chaîne

Pour remplacer une valeur variable à l'aide de SED, nous devons d'abord comprendre comment SED fonctionne et comment nous pouvons remplacer une chaîne simple dans n'importe quel fichier en utilisant SED.

Pour remplacer n'importe quelle chaîne, la syntaxe est assez simple et donnée ci-dessous:

$ sed -i's / old-string / new-string / g 'file_name

Dans cette syntaxe, il vous suffit de fournir la chaîne que vous souhaitez remplacer à l'ancienne chaîne, puis la nouvelle chaîne dans les virgules inversées. Après cela, fournissez le fichier dans lequel vous souhaitez trouver et remplacer la chaîne mentionnée.

Exemple:

Supposons que nous ayons un fichier texte «Fichier.txt "dans lequel nous avons un texte aléatoire comme" Bienvenue sur la chaîne de Linuxhint ", et dans ce fichier, nous voulons remplacer le canal Word au site Web à l'aide de la commande SED.

$ CAT Fichier.SMS

La commande pour modifier la chaîne vers le site Web irait comme ceci:

$ sed -i's / canal / site Web / g 'fichier.SMS

Après avoir exécuté la commande, nous reprenons le fichier:

$ CAT Fichier.SMS

La chaîne a été remplacée à l'aide de la commande SED. C'est donc ainsi que vous pouvez trouver et remplacer n'importe quelle chaîne dans n'importe quel fichier du système d'exploitation Linux à l'aide de la commande SED.

Maintenant, apprenons à remplacer une valeur variable dans un fichier.

Remplacer une variable

La syntaxe pour trouver et remplacer la valeur d'une variable dans un fichier à l'aide de SED est la même que la recherche et le remplacement d'une chaîne dans un fichier. La seule partie délicate est d'écrire une expression régulière pour trouver quelque chose dans un fichier pour remplacer cette partie. Ainsi, pour modifier la valeur d'une variable, la syntaxe ira comme ceci:

$ sed -i's / var =.* / var = new_value / 'file_name

Regardons un exemple pour voir la véritable implémentation et le comprendre avec plus de clarté.

Exemple:

Supposons que nous ayons un fichier de code Python dans lequel nous avons quelques variables. Ces variables ont certaines valeurs qui leur sont assignées.

$ CODE CAT.py

Maintenant, pour remplacer n'importe quelle variable, nous pouvons le rechercher par son nom et lui fournir une nouvelle valeur en utilisant la commande SED ci-dessous:

$ sed -i 's / num1 =.* / num1 = 200 / 'code.py

Après avoir exécuté la commande SED ci-dessus, nous affichons à nouveau le contenu du fichier:

$ CODE CAT.py

Vous pouvez voir que la valeur de la variable «num1» a été remplacée selon notre exigence.

En utilisant cette astuce simple, vous pouvez remplacer n'importe quelle variable ou sa valeur dans n'importe quel fichier à l'aide de SED.

Conclusion

Ce message fournit un moyen simple et facile de trouver et de remplacer une variable dans n'importe quel fichier à l'aide de SED. Nous avons appris à remplacer une chaîne dans un fichier et à remplacer la valeur d'une variable à l'aide de SED.