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 12/09/2015, à 16:18

Omnisilver

[Résolu] Trier des fichiers par taille puis les déplacer

Bonjour,

Mes parents on supprimé leur fichier images, puis vidé la corbeille, et m'ont demandé s'il était possible de récupérer leurs photos.

J'ai exécuté foremost qui m'a permis de retrouver notamment plus de 36000 images jpeg, dans un répertoire unique, Fichiers plante si je tente de l'ouvrir de façon graphique. Parmi ces images, il y en a un grand nombre qui ne sont pas pertinentes : images récupérées dans les caches des navigateurs, etc.

Ce sont à priori les plus petites, qui sont également les plus nombreuses : 

parents@Parents-fixe:/usr/recup/jpg$ ls | wc -l
36589
parents@Parents-fixe:/usr/recup/jpg$ find /usr/recup/jpg/ -type f -size +1M | wc -l
24784
parents@Parents-fixe:/usr/recup/jpg$ find /usr/recup/jpg/ -type f -size +2M | wc -l
23385
parents@Parents-fixe:/usr/recup/jpg$ find /usr/recup/jpg/ -type f -size +3M | wc -l
19954
parents@Parents-fixe:/usr/recup/jpg$ find /usr/recup/jpg/ -type f -size +4M | wc -l
2325

Je tente donc de trouver la commande qui me permette de "découper" ces 36 000 images en sous-dossiers par taille que je pourrai exploiter de façon graphique, mes recherches m'ont orienté vers find, voici les commandes que j'ai tenté d'exploiter sans succès :

parents@Parents-fixe:/usr/recup/jpg$ find /usr/recup/jpg/ -type f -size +4M -exec mv {} /home/parents/Images/recup1/
find: paramètre manquant pour « -exec »
parents@Parents-fixe:/usr/recup/jpg$ find /usr/recup/jpg/ -type f -size +4M | mv /home/parents/Images/recup1/
mv: opérande de fichier cible manquant après «/home/parents/Images/recup1/»
Saisissez « mv --help » pour plus d'informations.

Je ne comprends pas comment "piper" le résultat du find sur la commande mv, la lecture du man ne m'éclaire pas, si vous avez une piste je suis preneur wink

Dernière modification par Omnisilver (Le 14/09/2015, à 19:06)

Hors ligne

#2 Le 12/09/2015, à 16:24

pingouinux

Re : [Résolu] Trier des fichiers par taille puis les déplacer

Bonjour,

find: paramètre manquant pour « -exec »

Il faut terminer l'instruction par \;

find /usr/recup/jpg/ -type f -size +4M -exec mv {} /home/parents/Images/recup1/ \;

Hors ligne

#3 Le 12/09/2015, à 16:24

Vysserk3

Re : [Résolu] Trier des fichiers par taille puis les déplacer

Pour piper le résultat d'une commande sur les arguments d'une autre, on utilise xargs en général.
Cela dit, la commande find permet d'éviter ça en intégrant la clause -exec (que tu as trouvée).
Le seul problème dans ta commande là, c'est qu'il faut lui dire quand elle se termine à l'aide de

-exec mv {} /home/parents/Images/recup1/

à remplacer par

-exec mv {} /home/parents/Images/recup1/ \;

Dernière modification par Vysserk3 (Le 14/09/2015, à 19:59)

Hors ligne

#4 Le 12/09/2015, à 18:56

Omnisilver

Re : [Résolu] Trier des fichiers par taille puis les déplacer

Merci à vos deux réponses très rapides ! Je ne pensais pas en avoir aussi vite, du coup je ne suis plus chez eux, je testerai ça lundi et je vous donnerai le résultat smile

Hors ligne

#5 Le 14/09/2015, à 19:06

Omnisilver

Re : [Résolu] Trier des fichiers par taille puis les déplacer

Bonjour,

Encore merci à vous deux, j'ai ajouté le \; à la commande find et j'ai pu exécuter correctement mes commandes. Je suis intéressé par xargs qui semble plus polyvalent, je vais l'étudier pour voir si elle peut me permettre de résoudre quelques blocages que j'avais rencontré par ailleurs  !

Concernant la récupération, j'ai commencé à trier les photos mais je me suis rapidement aperçu que la tâche allait être très très longue en manuel car elles n'ont plus de nom significatif (foremost leur a donné des noms uniquement numériques) et j'ai réfléchi à un moyen de me simplifier la tâche, je pense que le plus simple est de tenter de les renommer en masse à l'aide des informations EXIF pour indiquer en nom la date et l'heure de la prise, à l'aide de exiv2.

Je créerai un nouveau sujet au nom adapté si j'ai besoin d'aide et je passe celui-ci en Résolu wink

Hors ligne