Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/03/2012, à 17:36

el_profesor

[Résolu] Script modification nom de fichiers

Bonjour,

J'ai plusieurs fichiers ayant comme nom toto_titi_tata_2005.txt par exemple. Je souhaiterais supprimer de maniére automatique _2005 pour qu'au final le nom de mon fichier soit toto_titi_tata.txt

Ma commande que je tape pour le moment est :

for fichiers in * ; do mv "$fichiers" `echo $fichiers | tr -d "_1-9" `; done

Sauf que cette ligne me supprimer tous les _ et tous les chiffres pouvant être avant.

Avez-vous une idée de comment procéder ?

Merci.

Dernière modification par el_profesor (Le 06/03/2012, à 10:39)

Hors ligne

#2 Le 05/03/2012, à 17:41

sputnick

Re : [Résolu] Script modification nom de fichiers

Oui,

prename 's/_\d+//' *

Dernière modification par sputnick (Le 05/03/2012, à 17:42)


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#3 Le 06/03/2012, à 10:38

el_profesor

Re : [Résolu] Script modification nom de fichiers

Niquel ça fonctionne. Je vais chercher ce que fais exactement la commande ... Sinon je veux bien une petite explication sur la signification de tout ce qu'il y a entre ' ' ...
Merci pour ton aide !

Hors ligne

#4 Le 06/03/2012, à 16:46

sputnick

Re : [Résolu] Script modification nom de fichiers

prename        # la commande (perl)
s/             # substitution typique perl, sed etc... s///
_              # underscore
\d             # \d c'est comme [0-9] (pcre et perl), c'est un caractère chiffre de 0 à 9
+              # Le + veut dire qu'il doit y avoir au moins un chiffre. (toutes regex tous langages, parfois protégé avec un \)
 //            # Enfin on remplace par rien, donc on efface. 
*              # le glob (tous les fichiers) 

Globs : http://mywiki.wooledge.org/glob

Dernière modification par sputnick (Le 06/03/2012, à 18:33)


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne