Substition dans les expansions de paramêtres bash shell
Bonjour,
J'aimerais faire une substitution pour renommer mes fichiers en effaçant une série aléatoire de caractère. J'ai donc les fichiers de ce style :
Code:
1 2 3
| tata - toto-MFtBGIE9f8.txt
tato - toti-zerdsE9f8.txt
tati - tota-QFfderd8.txt |
Donc j'applique la commande suivante dans le repertoire :
Code:
for i in *.txt ; do echo "${i/-[a-zA-Z0-9]/.txt}" ; done ;
Cela me donne :
Code:
1 2 3
| tata - toto.txt-MFtBGIE9f8.txt
tato - toti.txt-zerdsE9f8.txt
tati - tota.txt-QFfderd8.txt |
Je ne comprend pas pourquoi les caractères ne sont pas parti après le premier ".txt"
Merci