J'ai plusieurs fichiers texte dans lesquels j'ai introduit des variables shell ($VAR1 ou $VAR2 par exemple).
Je voudrais prendre ces fichiers (un par un) et les enregistrer dans de nouveaux fichiers où toutes les variables auraient été remplacées.
Pour ce faire, j'ai utilisé le shell script suivant (trouvé sur StackOverflow) :
while read line
do
eval echo "$line" >> destination.txt
done < "source.txt"
Cela fonctionne très bien sur des fichiers très basiques.
Mais sur des fichiers plus complexes, la commande "eval" en fait trop :
-
Les lignes commençant par "#" sont ignorées.
-
L'analyse syntaxique des fichiers XML donne lieu à des tonnes d'erreurs
Y a-t-il une meilleure façon de le faire ? (dans le shell script... Je sais que cela se fait facilement avec Ant par exemple)
Bien à vous