utilisant l'extension d'accolade pour changer les noms de files, et non les extensions?

J'ai un directory contenant un tas de files avec des extensions différentes, mais le nom de file avant l'extension est tout de même. Par exemple, file1.txt, file1.jpg, file1.pdf, file1.odt …

Je veux changer la partie 'file1', mais pas l'extension, donc le résultat serait, par exemple, newfilename.txt, newfilename.jpg, newfilename.pdf, newfilename.odt

Je ne peux pas comprendre comment faire ceci sans courir fastidieusement mv file1.txt newfilename.txt sur tout le monde. Je peux find beaucoup de tuturials en ligne pour changer les noms de files avec l'expansion d'accolade si vous connaissez toutes les parties à développer, mais rien pour replace file1 par newfilename, peu importe l'extension. Est-ce possible, ou suis-je aboyer le mauvais tree?

Merci

EDIT: Je suis désolé, pas des moments après avoir posté cela, j'ai trouvé une page différente dans mes résultats Google qui a répondu à la question pour moi: for f in file1.*; do mv "$f" "${f/file1/newfilename}"; done for f in file1.*; do mv "$f" "${f/file1/newfilename}"; done for f in file1.*; do mv "$f" "${f/file1/newfilename}"; done fonctionne parfaitement.

J'ai trouvé cela juste après avoir posté la question:

for f in file1.*; do mv "$f" "${f/file1/newfilename}"; done

Fonctionne comme un charme.

Vous pouvez le faire avec bash, mais il y a d'autres outils plus appropriés pour le travail.

Sur la plupart des dissortingbutions:

 rename file1 newfilename file1.* 

Sur Debian et Ubuntu, remplacez rename par rename.ul .