Modifier nom de fichier dans un répertoire
Résolu
JsuisNul
Messages postés
137
Statut
Membre
-
JsuisNul -
JsuisNul -
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.
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
-
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 $
-
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. -
enlever le echo pour effectuer le rename
for F in f*csv; do echo mv $F ${F/+(\")/}; done -
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 ? -
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 -
un vieux ksh .... alors essayer:
for F in fich*.csv ; do echo mv $F $(echo $F | sed 's/"*//g'); done
-
-
si ce qu'affiche la commande te va, enlève l'echo pour exécuter le rename
-
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 -
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
-
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.