Je dois parcourir les fichiers dans un répertoire et effectuer le remplacement suivant.Comment modifier le format des variables de substitution dans un modèle
Avant:
Hello ${USER_NAME}, you live at ${HOME_ADDRESS}. It is now ${TIME}
Après:
Hello ${userName}, you live at ${homeAddress}. It is now ${time}
Le nombre de jetons différents qui apparaissent dans $ {} est grande, il est donc pas vraiment possible de courir:
find . -name '*' -exec sed -i 's/${USER_NAME}/${userName}/g' {} \;
find . -name '*' -exec sed -i 's/${TIME}/${time}/g' {} \;
etc.
J'espère qu'il est possible d'effectuer ce remplacement à l'aide d'une seule commande, qui ressemble à:
find . -name '*' -exec sed 's/XXX/YYY/g' {} \;
Mais je ne peux pas comprendre ce qui se substituer à XXX et YYY. Est-il possible de le faire en une seule commande?
Cheers, Donal
Si le temps d'exécution est une grosse contrainte, pensez à utiliser gawk, perl ou python lors de la compilation d'octets au début pour accélérer l'exécution. Je ne suis pas du tout certain que sed fasse cela. – dmckee
Merci, mais le temps d'exécution est sans importance –