Je veux parcourir un tas de répertoires et renommer tous les fichiers qui se terminent par _test.rb pour les remplacer par _spec.rb. C'est quelque chose que je n'ai jamais réussi à faire avec bash, alors cette fois j'ai pensé que je ferais un effort pour y arriver. Jusqu'à présent, je n'ai pas réussi à le faire, mon meilleur effort est le suivant :
find spec -name "*_test.rb" -exec echo mv {} `echo {} | sed s/test/spec/` \;
NB : il y a un echo supplémentaire après exec pour que la commande soit imprimée au lieu d'être exécutée pendant que je la teste.
Lorsque je l'exécute, la sortie pour chaque nom de fichier correspondant est la suivante :
mv original original
c'est-à-dire que la substitution par sed a été perdue. Quelle est l'astuce ?