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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
for i in *.txt ; do echo "${i/-[a-zA-Z0-9]/.txt}" ; done ;
Cela me donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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