221 votes

Comment remplacer les espaces réservés ${} dans un fichier texte?

Je veux canaliser la sortie d’un fichier « template » dans MySQL, le fichier ayant des variables comme `` intercalées. Quel est l’utilitaire de ligne de commande pour remplacer ces instances et vider la sortie vers la sortie standard ?

242voto

user Points 610

Sed!

Modèle donné.txt:

 Le nombre est ${i} Le mot est ${word} 

nous n’avons qu’à dire:

Merci à Jonathan Leffler pour le conseil de passer plusieurs arguments à la même invocation.

51voto

gnud Points 26854

Utilisez ``. Créez un petit script shell qui définit les variables, puis analysez le modèle à l’aide du shell lui-même. Comme ça (modifier pour gérer correctement les nouvelles lignes) :

Modèle de fichier.txt :

Script.sh de fichier :

Sortie:

24voto

Dana the Sane Points 7976

J’y pensais à nouveau, compte tenu de l’intérêt récent, et je pense que l’outil auquel je pensais à l’origine était ``, le processeur macro pour autotools. Donc, au lieu de la variable que j’ai spécifiée à l’origine, vous utiliseriez :

22voto

neu242 Points 4538

Créer ``:

Et ``:

Restituez le modèle :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X