Modifier nom de fichier dans un répertoire

Résolu/Fermé
JsuisNul Messages postés 118 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 21 décembre 2021 - 2 juil. 2013 à 14:39
 JsuisNul - 3 juil. 2013 à 16:19
Bonjour a tous,

J'ai un répertoire ou j'ai plusieurs fichier qui se termine comme suit :
fichier_XX""".csv

je voudrais tous les renommer en supprimant les """ pour avoir :
fichier_XX.csv

J'ai essayer la commande rename mais j'ai l'impression qu'elle n'est pas reconnu...

merci d'avance.

11 réponses

dubcek Messages postés 18567 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 1 décembre 2022 5 568
2 juil. 2013 à 15:39
hello
bash: rename command not found ?
sinon essayer : (rien n'est renommé avec -n)
$ rename -n 's/XX[^.]*./XX./' fichier*.csv
fichier_XX""".csv renamed as fichier_XX.csv
$ 
1
JsuisNul Messages postés 118 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 21 décembre 2021 1
2 juil. 2013 à 16:29
Bonjour,

voila quand je tape rename man :
ksh: rename: not found

Sinon il faut que je précise que les noms des fichiers se décomposent ainsi :

fichier_XX""".csv (exemple vrai nom : f_000520636_HPCIC_BX11_942""".csv )

fichier = début du nom de fichier identique
XX = numéro différent sur chaque fichier
""" = parti à supprimer
.csv = extension

Merci.
0
dubcek Messages postés 18567 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 1 décembre 2022 5 568
2 juil. 2013 à 16:41
enlever le echo pour effectuer le rename
for F in f*csv; do echo mv $F ${F/+(\")/}; done
0
JsuisNul Messages postés 118 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 21 décembre 2021 1
2 juil. 2013 à 17:18
Merci pour tes réponses.
Est ce que je dois préciser le répertoire ? ou il suffit juste d'exécuter le script en étant déjà dans le répertoire ?
0
dubcek Messages postés 18567 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 1 décembre 2022 5 568
3 juil. 2013 à 08:14
il faut être dans le répertoire
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Hello,

Bon j'ai donc exécuté dans le répertoire mais j'ai un message d'erreur :

nso_1.ksh[2]: ${F/+(\")/}: bad substitution
0
dubcek Messages postés 18567 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 1 décembre 2022 5 568
3 juil. 2013 à 12:35
un vieux ksh .... alors essayer:
for F in fich*.csv ; do echo mv $F $(echo $F | sed 's/"*//g'); done
0
faut-il que je laisse les "echo" ?
0
dubcek Messages postés 18567 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 1 décembre 2022 5 568
3 juil. 2013 à 14:50
si ce qu'affiche la commande te va, enlève l'echo pour exécuter le rename
0
Bon j'ai essayé avec les echo, le résultat afficher à l'aire bon mais il se passe rien.

Sans les echo voila ce que j'obtiens :

nso_1.ksh[2]: f_000520636_HPCIC_BX11_998""".csv: cannot execute
Usage: mv [-I] [-i | -f] [-E{force|ignore|warn}] [--] src target
or: mv [-I] [-i | -f] [-E{force|ignore|warn}] [--] src1 ... srcN directory
0
dubcek Messages postés 18567 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 1 décembre 2022 5 568
3 juil. 2013 à 15:44
il ne faut pas enlever le 2ème echo ! comme ça:
for F in f*.csv ; do mv $F $(echo $F | sed 's/"*//g'); done
0
Super ça fonctionne impec !! ;-)

Merci pour ton Aide.

P.S pour Jipicy : Désolé d'avoir poster en double car je pensais que ma première demande n'avait pas été pris en compte.
0