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 14/11/2006, à 23:47

edboq

[RESOLU] chercher & renommer des fichiers en masse

bonsoir,

récent utilisateur d'Ubuntu, je suis très noob en commande linux.

J'ai encore beaucoup de soucis dans l'agencement des commentaires des commandes sad

Je m'explique:

Si je veux supprimer un série de fichiers dans des sous répertoires en fonction de son extension

$ find . \( -name '*.jpg' -o -name '*.JPG' \) -exec rm -rf {} \;

Cette commande fonctionne

Puis-je maintenant associer une autre fonction que supprimer à find comme celle de renommer ?

si j'ai une image qui se trouve dans tous mes sous-répertoires, cette image ayant un nom et une extension aléatoire, puis-je la renommer par un nom fixe? ( image.jpg )

$ find . \( -name '*.jpg' -o -name '*.JPG' \) -exec mv image.jpg {} \;

j'ai l'erreur " mv: ne peut evaluer `image.jpg': Aucun fichier ou repertoire de ce type"

peux- être existe-t-til un autre moyen de le faire ?
les suggestions seront les bienvenues tongue

Dernière modification par edboq (Le 16/11/2006, à 10:55)

Hors ligne

#2 Le 15/11/2006, à 02:08

quelqu'un

Re : [RESOLU] chercher & renommer des fichiers en masse

Je n'ai pas bien compris ce que tu veux faire (nom fixe/aléatoire ?)
Mais si tu n'as rien contre une interface graphique, il y a krename qui est très bien pour tout ce qui est renommage de masse.
Tu peux prendre 10 fichiers d'un répertoire, 5 d'un autre, prendre seulement quelques sous-répertoires, prendre les fichiers du repertoire + ceux dans ses sous répertoire.
Tu peux aussi simplement déplacer tes fichiers (sans renommer) ou les déplacer puis supprimer automatiquement ce qui sont présents dans le repertoire de destination.
Tu peux modifier les extensions, ne modifier que les extensions en gardant le nom d'origine, garder le nom d'origine et l'extension mais rajouter un préfixe ou suffixe (nombre, date, personnalisé), tout modifier etc.
Tu peux faire pas mal de choses.


DE RE-RE-RETOUR... AHAH !!! Moi, l'Honorable, l'Illustrissime et vénérable, le vrai véritable et unique Quelqu'un, je viens vous montrer le chemin.

Pour s'adresser à ma personne, veuillez commencer votre discours par :
Ô sa Grandeur, son Excellence, Divinité de l'excellence, Dieu des Dieux, Roi de Toutes choses, Ô puissant esprit supérieur, nous t'implorons.

Hors ligne

#3 Le 15/11/2006, à 13:37

edboq

Re : [RESOLU] chercher & renommer des fichiers en masse

merci de ta réponse

voici le soucis :

j'ai 940 répertoires dans chacun desquels j'ai une image (avec une extension qui peux être jpg / JPG / bmp.
je voudrais renommer toutes ces images en folder.jpg

Krename a l'air d'être pas mal mais je me vois mal aller dans tous les sous répertoires !!!

Hors ligne

#4 Le 15/11/2006, à 16:54

quelqu'un

Re : [RESOLU] chercher & renommer des fichiers en masse

Tu as qu'une seule image dans chacun de ces répertoires ?


DE RE-RE-RETOUR... AHAH !!! Moi, l'Honorable, l'Illustrissime et vénérable, le vrai véritable et unique Quelqu'un, je viens vous montrer le chemin.

Pour s'adresser à ma personne, veuillez commencer votre discours par :
Ô sa Grandeur, son Excellence, Divinité de l'excellence, Dieu des Dieux, Roi de Toutes choses, Ô puissant esprit supérieur, nous t'implorons.

Hors ligne

#5 Le 15/11/2006, à 17:00

edboq

Re : [RESOLU] chercher & renommer des fichiers en masse

oui une seule image mais avec une extension aléatoire (jpg / bmp / JPG ....)

Hors ligne

#6 Le 15/11/2006, à 17:03

qqun d autre

Re : [RESOLU] chercher & renommer des fichiers en masse

find . \( -name '*.jpg' -o -name '*.JPG' \) -exec mv {} image.jpg  \;

ben déja tu devrais inverser dans -exec mv {} image.jpg
ca serait plutôt  -exec mv  image.jpg {}

mais bon cela ne marcheras pas : ca déplaceras effectivement tout les *.(JPG/jpg) des répertoires
dans image.jpg du repertoire courrant (celui d'ou tu lance la commande).

il faudrait récupérer le path de chaque image pour le mettre dans le mv si j'ai bien compris ce que tu veux faire.

#7 Le 15/11/2006, à 17:08

phavet

Re : [RESOLU] chercher & renommer des fichiers en masse

Pour moi, mv a comme arguments source puis nouveau nom
ta commande devrait donc être
    .................   mv {} image.jpg  \;

à tester avec modération (sur un ss-rep)
car mv peut également déplacer les fichiers et je ne suis pas sûr le nouveau image.jpg ne soit pas dans le répertoire courant.
Auquel cas, après la commande ile te resterait un seul fichier sur les 940

Bon courage.


Faire et défaire c'est toujours travailler.
Tour assemblée, Asus F3Sc, Acer Aspire 5715z, Asus 1201HA ; Karmic (1) , Lucid (2), Natty(1)

Hors ligne

#8 Le 15/11/2006, à 17:10

edboq

Re : [RESOLU] chercher & renommer des fichiers en masse

en effet, je ne souhaite pas déplacer les fichiers, je veux juste les renommer avec un nom fixe.

Hors ligne

#9 Le 15/11/2006, à 17:11

quelqu'un

Re : [RESOLU] chercher & renommer des fichiers en masse

Alors avec krename il suffit de choisir le répertoire parent le plus élevé pour sélectionner l'ensemble du contenu de tout ces sous-répertoires.

Tu cliques sur ajouter et quand tu choisis ton répertoire à la place de faire un simple clic qui ouvre le répertoire, tu fais Ctrl + clic qui sélectionne le repertoire et ses sous-répertoires, tu valides et normalement dans la fenêtre de krename il va apparaitre une liste avec la totalité du contenu de tout ses répertoires.

Maintenant si il n'y a pas de dossier parent et que ce sont 940 dossiers dispatchés de partout sur ton (ou tes) disque, bonne chance smile je ne sais pas comment faire, en dehors du « un par un ».


Si tu plusieurs dossiers parents genre :
rep 1 avec 300 sous répertoires
rep 2 avec 200 sous répertoires
et rep 3 avec 400 sous répertoires
tu fais ce que je viens de dire mais 3 fois, une fois avec rep1, une fois avec...
Et quand tu as fini ça, tu cliques sur suivant >> pour renommer ou déplacer tes fichiers.
Par défaut quand tu sélectionnes un répertoire en utilisant Ctrl + clic tous les sous-répertoires sont sélectionnés également (même si c'est précisé nulle part).


EDIT : ce n'est pas automatique par défaut, il y a une case à cocher au moment du choix du repertoire/fichier «ajouter les repertoires récursivement» ou un truc comme ça, dsl il me semblait que c'était comme ça par défaut.

Dernière modification par quelqu'un (Le 15/11/2006, à 17:15)


DE RE-RE-RETOUR... AHAH !!! Moi, l'Honorable, l'Illustrissime et vénérable, le vrai véritable et unique Quelqu'un, je viens vous montrer le chemin.

Pour s'adresser à ma personne, veuillez commencer votre discours par :
Ô sa Grandeur, son Excellence, Divinité de l'excellence, Dieu des Dieux, Roi de Toutes choses, Ô puissant esprit supérieur, nous t'implorons.

Hors ligne

#10 Le 15/11/2006, à 17:22

edboq

Re : [RESOLU] chercher & renommer des fichiers en masse

merci de votre support cool
peux -être la commande   mv  n'est-elle pas appropriée,
je voudrais les renommer, pas les déplacer !

un script ne ferait-il pas l'affaire ?

Dernière modification par edboq (Le 15/11/2006, à 17:25)

Hors ligne

#11 Le 15/11/2006, à 17:26

quelqu'un

Re : [RESOLU] chercher & renommer des fichiers en masse

j'ai voulu tester pour être sûr, mais je me suis raté de rep et j'ai lancé un repertoire (récursivement) qui contient plus de 12 000 fichiers, alors ça fonctionne bien je peux te le confirmer mais là c'est un peu long à charger big_smile


DE RE-RE-RETOUR... AHAH !!! Moi, l'Honorable, l'Illustrissime et vénérable, le vrai véritable et unique Quelqu'un, je viens vous montrer le chemin.

Pour s'adresser à ma personne, veuillez commencer votre discours par :
Ô sa Grandeur, son Excellence, Divinité de l'excellence, Dieu des Dieux, Roi de Toutes choses, Ô puissant esprit supérieur, nous t'implorons.

Hors ligne

#12 Le 15/11/2006, à 17:38

pabix

Re : [RESOLU] chercher & renommer des fichiers en masse

Je le ferais en bash. Si je comprends bien, tu as une pléthore de dossiers contenant chacun une image ?

1er jet :

CURDIR=$(pwd)
for i in $(ls)
do
[ -d $CURDIR/$i ] && (
    cd $CURDIR/$i
    for j in $(ls *JPG *jpg *bmp)
    do
    convert $j folder.jpg
    rm $j
    done
    cd $CURDIR
)
done

Et ça te convertira en jpg en prime. Si, par contre, tes noms de fichiers ou de répertoires ont des espaces, ça foirera.

Benoit

Dernière modification par pabix (Le 15/11/2006, à 17:40)


Utilisateur du clavier BÉPO.
mortgat (()) gmail () com
GPG 0x377D716D

Hors ligne

#13 Le 15/11/2006, à 17:46

toto2006

Re : [RESOLU] chercher & renommer des fichiers en masse

ou sinon une conjonction des deux smile

tu creer un tout petit script bash :  renom.sh

 mv $1 `dirname $1`/folder.jpg

chmod +x renom.sh

et tu fait ton find :

find . \( -name '*.jpg' -o -name '*.JPG' \) -exec ./renom.sh {} \;

et normalement cela te remplace tout les jpg/JPG par folder.jpg

enfin teste quand meme avant d'essayer sur tes 940 fichiers smile

Hors ligne

#14 Le 15/11/2006, à 17:48

edboq

Re : [RESOLU] chercher & renommer des fichiers en masse

merci toto2006

mes repertoires ont des espaces
j'ai une erreur du coup qui me dit :

dirname: opérande surnuméraire `dossier/frfr.jpg'
Pour en savoir davantage, faites: « dirname --help ».
mv: la cible `/folder.jpg' n'est pas un répertoire

je ne comprends pas tout...

Dernière modification par edboq (Le 15/11/2006, à 18:53)

Hors ligne

#15 Le 16/11/2006, à 10:55

edboq

Re : [RESOLU] chercher & renommer des fichiers en masse

voila ce que j'ai pu glaner dans le forum anglais

cela semble fonctionner

sudo apt-get install mmv

find . \( -name *.jpg -o -name *.JPG -o -name *.bmp \) -exec mmv -r {} picture.jpg \;

big_smile:D

Hors ligne

#16 Le 16/11/2006, à 11:55

toto2006

Re : [RESOLU] chercher & renommer des fichiers en masse

Cool si ca marche alors avec mmv (que je ne connais pas) .

Sinon effectivement l'erreur est due aux espaces  , a titre d'info , je pense que  l'utilisation des guillemets devrait résoudre le problème .

renom.sh

 mv "$1" "`dirname "$1"`/folder.jpg"
find . \( -name '*.jpg' -o -name '*.JPG' \) -exec ./renom.sh {} \;

Hors ligne

#17 Le 16/11/2006, à 13:21

edboq

Re : [RESOLU] chercher & renommer des fichiers en masse

niquel ca passe aussi !

très intéressant
merci à vous tous
big_smile:D:):)

Hors ligne