#1 Le 30/12/2015, à 20:27
- mrniko
[Résolu] Déplacer tous les fichiers d'un type vers un autre répertoire
Bonsoir,
je ne suis pas très fort en ligne de commande, j'ai lu et relu "mv" sans y arriver... je suis nuuuuuuuul '-(
J'explique :
J'ai photorec qui m'a récupéré dans environ 200 répertoires des JPG, des MP3, des TXT etc
J'aimerais me mettre sur le répertoire principal "/home/user/Images/galleries/photorec/hd_dpata2_nov_2015" et déplacer tous les fichiers.jpg dans "/home/user/Images/galleries/recup_jpg_photorec"
merci de votre aide.
Dernière modification par mrniko (Le 30/12/2015, à 23:53)
Hors ligne
#2 Le 30/12/2015, à 20:58
- pingouinux
Re : [Résolu] Déplacer tous les fichiers d'un type vers un autre répertoire
Bonsoir,
Si tu veux récupérer tous les fichiers .jpg de l'arborescence de départ pour les transférer dans un seul répertoire d'arrivée, voici une façon de faire :
shopt -s globstar
mv -i /home/user/Images/galleries/photorec/hd_dpata2_nov_2015/**/*.jpg /home/user/Images/galleries/recup_jpg_photorec
Le répertoire d'arrivée doit exister avant de lancer la commande.
Hors ligne
#3 Le 30/12/2015, à 21:33
- MicP
Re : [Résolu] Déplacer tous les fichiers d'un type vers un autre répertoire
Si le répertoire source ne contient que des fichiers .jpg
et si les répertoires source et cible sont dans la même partition,
et si le répertoire cible <=> /home/user/Images/galleries/recup_jpg_photorec n'existe pas,
le plus simple et le plus rapide c'est de déplacer le répertoire source : /home/user/Images/galleries/photorec/hd_dpata2_nov_2015
vers le répertoire cible
mv /home/user/Images/galleries/photorec/hd_dpata2_nov_2015 /home/user/Images/galleries/recup_jpg_photorec
=======
Si le répertoire source ne contient que des fichiers .jpg
et si les répertoires source et cible sont dans la même partition,
et si le répertoire cible <=> /home/user/Images/galleries/recup_jpg_photorec existe déjà
mais qu'il est vide, il suffira de le supprimer d'abord :
rmdir /home/user/Images/galleries/recup_jpg_photorec && mv /home/user/Images/galleries/photorec/hd_dpata2_nov_2015 /home/user/Images/galleries/recup_jpg_photorec
le && permet à la commande qui suit de n'être exécutée que si la commande qui le précède s'est exécutée sans erreur
(en d'autre mots, si la commande rmdir n'a pu être exécutée, la commande mv ne sera pas lancée)
=======
ATTENTION : Si le répertoire cible est sur un système de fichiers (donc une autre partition) différent du répertoire source, utilise plutôt la commande cp
et ne supprime les fichiers source que lorsque la copie s'est bien terminée :
Vérifie bien que les fichiers ont tous été copiés et qu'ils sont utilisables avant de supprimer les fichiers sources.
=======
EDIT : Il l'avait pourtant bien dit qu'il y avait aussi des MP3 et des TXT… du coup je rectifie.
Dernière modification par MicP (Le 30/12/2015, à 22:27)
Hors ligne
#4 Le 30/12/2015, à 21:46
- pingouinux
Re : [Résolu] Déplacer tous les fichiers d'un type vers un autre répertoire
@MicP : Attention, mrniko ne veut apparemment déplacer que les fichier .jpg
Hors ligne
#5 Le 30/12/2015, à 21:54
- mrniko
Re : [Résolu] Déplacer tous les fichiers d'un type vers un autre répertoire
Bonsoir,
Si tu veux récupérer tous les fichiers .jpg de l'arborescence de départ pour les transférer dans un seul répertoire d'arrivée, voici une façon de faire :shopt -s globstar mv -i /home/user/Images/galleries/photorec/hd_dpata2_nov_2015/**/*.jpg /home/user/Images/galleries/recup_jpg_photorec
Le répertoire d'arrivée doit exister avant de lancer la commande.
j'ai eu le droit à :
bash: /bin/mv: Liste d'arguments trop longue
Hors ligne
#6 Le 30/12/2015, à 21:55
- mrniko
Re : [Résolu] Déplacer tous les fichiers d'un type vers un autre répertoire
@MicP : Attention, mrniko ne veut apparemment déplacer que les fichier .jpg
exactement.
merci
Hors ligne
#7 Le 30/12/2015, à 21:56
- pingouinux
Re : [Résolu] Déplacer tous les fichiers d'un type vers un autre répertoire
On peut tenter comme ça, et si ça ne suffit pas, il faudra utiliser find :
cd /home/user/Images/galleries/photorec/hd_dpata2_nov_2015
mv -i **/*.jpg /home/user/Images/galleries/recup_jpg_photorec
Hors ligne
#8 Le 30/12/2015, à 22:07
- MicP
Re : [Résolu] Déplacer tous les fichiers d'un type vers un autre répertoire
Effectivement, il n'a pas dit que le répertoire source ne contenait que des fichiers .jpg, et la méthode de déplacement du répertoire ne serait utilisable que si le répertoire source ne contenait que des fichiers .jpg
Il lui faudrait calculer la quantité de données qui sera déplacée en fonction de son choix :
J'exagère juste pour l'exemple :
S'il a 100Gb pour 10000 fichiers .JPG et seulement 5GB pour les 200 fichiers MP3+TXT,
il gagnera beaucoup de temps en sortant les fichiers MP3 et TXT du répertoire source d'abord,
et en déplaçant juste le répertoire dans lequel il ne resterait que des images.
Ça a l'air de rien, mais si on fait pas gaffe, ça peut devenir une véritable galère
qui finit parfois par un triste : "Plus de place dans le répertoire cible …" ou et "Le fichier xxxx n'a pas pu être déplacé" ou/et "lecture du fichier xxxx.jpg impossible"
Et le plus grave dans tout ça, c'est que t'as la copine qui s'impatiente…
Hors ligne
#9 Le 30/12/2015, à 22:07
- mrniko
Re : [Résolu] Déplacer tous les fichiers d'un type vers un autre répertoire
même erreur...
Hors ligne
#10 Le 30/12/2015, à 22:11
- mrniko
Re : [Résolu] Déplacer tous les fichiers d'un type vers un autre répertoire
Faut que je fasse ceci ?
find . -name "*.jpg" -exec mv -i *.jpg /home/user/Images/galleries/recup_jpg_photorec
Hors ligne
#11 Le 30/12/2015, à 22:12
- mrniko
Re : [Résolu] Déplacer tous les fichiers d'un type vers un autre répertoire
j'ose pas lancer...
Hors ligne
#12 Le 30/12/2015, à 22:12
- pingouinux
Re : [Résolu] Déplacer tous les fichiers d'un type vers un autre répertoire
find /home/user/Images/galleries/photorec/hd_dpata2_nov_2015 -name \*.jpg -exec echo mv -i {} /home/user/Images/galleries/recup_jpg_photorec \;
et enlever le echo si c'est bon.
@MicP : Effectivement, selon la répartition des fichiers, ta méthode peut être une alternative
Hors ligne
#13 Le 30/12/2015, à 22:38
- MicP
Re : [Résolu] Déplacer tous les fichiers d'un type vers un autre répertoire
@pingouinux Merci
Hors ligne
#14 Le 30/12/2015, à 23:53
- mrniko
Re : [Résolu] Déplacer tous les fichiers d'un type vers un autre répertoire
find /home/user/Images/galleries/photorec/hd_dpata2_nov_2015 -name \*.jpg -exec echo mv -i {} /home/user/Images/galleries/recup_jpg_photorec \;
et enlever le echo si c'est bon.
@MicP : Effectivement, selon la répartition des fichiers, ta méthode peut être une alternative
PARFAIT ! merci !!!
Hors ligne