Scripts MAC (bash ?)

nicolasec

Membre enregistré
18 Octobre 2009
3
0
Je ne suis peut-être pas tout à fait dans la bonne section, auquel cas je m'en excuse.

Après avoir eu un problème sur mon MAC, j'ai du lancer un utilitaire de récupération de disque pour récupérer toutes mes photos perdues. Il m'a l'air d'avoir pas mal réussi et à créé près de 2500 dossiers avec 500 fichiers dans chacun qui contiennent tout et n'importe quoi (surtout n'importe quoi !).

Des centaines de milliers de fichiers texte, etc. qui correspondent à tous les fichiers qu'il pouvait y avoir sur le MAC.


Y a-t-il moyen d'écrire un script qui parcourt tous les dossiers et déplace tous les .jpg .mov vers un autre dossier ?
Cela m'éviterait un travail long et très fastidieux : de parcourir tous les dossiers à la main !!!

Merci d'avance.
 
Bwa automator c'est lourd pour faire si simple ^^ Un pti coup de bash et ça roule :)

Bloc de code:
find /Users/Name/Desktop/DossierRecup -name "*.png" -exec mv {} /Users/Name/Desktop/Imgs/ \;

Voilà voilà^^
 
Merci pour la commande !! C'est exactement ce que je cherchais :)

Je remarque du coup que j'ai un problème de droit sur les fichiers (que je n'arrive pas à résoudre en faisant un chmod -R 777), ni en faisant "su + ta commande".

Je ne sais pas vraiment pourquoi mais du coup en faisant un cp :
find /Users/path1 -name "*.png" -exec cp {} /Users/path2/ \;
je contourne le problème.

Merci encore, tu me sauves de bien des heures de tâche rébarbative :D
 
Ca te les copies avec tes droits d'accés perso (en gros sa recréer les fichiers à ton nom) donc c'est tout bon =)

De rien pour la commande , n'hésite pas à demander, des ptites commandes unix ça peuvent sauver des vies(et c'est un euphémisme =P) =)

Bloc de code:
Merci encore, tu me sauves de bien des heures de tâche rébarbative

Hum à 2500 dossiers de 504 fichiers : à 2 sec par groupe de fenêtre de 16 fichiers ça nous fait 42 sec d'analyse sans compter le temps de scroller soit environ 1 min par dossier. En comptant 2 sec pour ouvrir un nouveau dossier : 2k5*62 = 155000 min soit environ 2584 heures. Ce qui nous donne en temps pleins (24/24) :107 jours . Soit en y passant 5 heures par jours: 517 jours

Tu viens d'économiser plusieurs années de boulot xD
 
En fait je passais plutôt 10 secondes en moyenne par dossier :
- ouvrir le dossier ;
- cliquer pour classer par taille ;
- la plupart du temps, pas grand chose dedans, donc : revenir au dossier de répertoires.

Donc, tout de même 2500*10 = 25000sec. Soit 6 à 7h de travail à la chaîne, sans compter le temps de mise à la poubelle + vider la poubelle.

Une bonne dizaine d'heures :)



ps: tu t'es trompé dans ton 2500*62, les 62 sont des secondes, pas des minutes :p
 
  • J’aime
Réactions: Arlequin
nico-a-sec, si tu as un probleme de droit, ne fait pas la connerie que tu as deja faite chmod -R 777

1 - il y a certainement des fichiers avec des locks voir /Developer/Tools/SetFile
j'ai deja posé plusieurs exemples ici a propos d'unlock recursif

2 - l'utilitaire que tu as utilise a peut etre preservé les droits donc tu as besoin d'un sudo, ce qui ne reglera pas le probleme des Cracrabon locks voir number 1 to solve the puzzle

3 - tu dois resoudre quelques defis en bash concernant les nom de fichiers

4 - je ferais 40 lignes de C en utilisant Carbon pour faire l'operation, cad garder les resources fork unlocker, unicode safe ecetera

bash c'est bien mais ca peut etre tricky avec des noms utilisant des char unicode et mener a la catastrophe mv each file on the same target other and other again... le temps que tu te rendes compte du missfits tu auras deja detruit plusieurs dizaine de fichiers

utiliser ditto serait deja une bonne chose pour copier ou /Developer/Tools/CpMac /Developer/Tools/MvMac ecetera