Modifier nom de fichier dans un répertoire

Résolu/Fermé
JsuisNul Messages postés 122 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 14 février 2024 - 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.
A voir également:

11 réponses

dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
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 122 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 14 février 2024 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 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
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 122 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 14 février 2024 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 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
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 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
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 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
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 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
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