Commande pour renommer des fichiers
Pheatlon
-
jipicy Messages postés 41342 Statut Modérateur -
jipicy Messages postés 41342 Statut Modérateur -
Bonjour à tous
j'ai dans un répertoire plus de 5000 images que je dois renommer. j'ai testé plusieurs commandes trouvées sur le site mais aucune n'arrive à faire ce que je veux.
mes images sont de la forme :
et je voudrais que ça devienne:
Merci à tous et joyeuses fêtes
j'ai dans un répertoire plus de 5000 images que je dois renommer. j'ai testé plusieurs commandes trouvées sur le site mais aucune n'arrive à faire ce que je veux.
mes images sont de la forme :
t_hdjkshdkjqsdhkjq.jpg
et je voudrais que ça devienne:
t_picture_hdjkshdkjqsdhkjq.jpg
Merci à tous et joyeuses fêtes
A voir également:
- Commande pour renommer des fichiers
- Renommer des fichiers en masse - Guide
- Invite de commande - Guide
- Commande terminal mac - Guide
- Renommer iphone - Guide
- Fichiers epub - Guide
5 réponses
Essayer cette commande , d'abord sur des fichiers test !
$ for i in t_hdj*; do mv $i' echo $i | sed */ hdj*/s//t_picture_hdjkshdkjqsdhkjq.jpg/"'
Sans aucune garantie.......:o(
$ for i in t_hdj*; do mv $i' echo $i | sed */ hdj*/s//t_picture_hdjkshdkjqsdhkjq.jpg/"'
Sans aucune garantie.......:o(
Sans aucune garantie
C'est le moins qu'on puisse dire ;-((
Elle est pleine d'incohérences ta syntaxe...
for i in t_hdj*
le point commun c'est plus l'extension que le nom, donc mieux vaudrait : for i in *.jpg, non ?
do mv $i' echo $i
Si tu ne mets pas d'espace entre les 2 variables c'est pas gagné et de plus de simple quote ne suffisent pas à exécuter la commande ;-\
do mv ${i} $(echo ...)
sed */ hdj*/
Inutile de mettre un motif puisque c'est tous les fichiers correspondant au "for i in ..." qui vont être parsés. De plus attention quand tu donnes une syntaxe, ton 1er guillemet est en fait une étoile ;-(
s//t_picture_hdjkshdkjqsdhkjq.jpg/"'
Là à la fin tu n'auras plus qu'un seul fichier dans le répertoire ;-(((
sed 's/\(t_\)\(.*\)/\1picture-\2/'
Un simple :
C'est le moins qu'on puisse dire ;-((
Elle est pleine d'incohérences ta syntaxe...
for i in t_hdj*
le point commun c'est plus l'extension que le nom, donc mieux vaudrait : for i in *.jpg, non ?
do mv $i' echo $i
Si tu ne mets pas d'espace entre les 2 variables c'est pas gagné et de plus de simple quote ne suffisent pas à exécuter la commande ;-\
do mv ${i} $(echo ...)
sed */ hdj*/
Inutile de mettre un motif puisque c'est tous les fichiers correspondant au "for i in ..." qui vont être parsés. De plus attention quand tu donnes une syntaxe, ton 1er guillemet est en fait une étoile ;-(
s//t_picture_hdjkshdkjqsdhkjq.jpg/"'
Là à la fin tu n'auras plus qu'un seul fichier dans le répertoire ;-(((
sed 's/\(t_\)\(.*\)/\1picture-\2/'
Un simple :
for i in *.jpg; do mv ${i} ${i/t_/t_picture_}; donedevrait suffire ;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question