commande rm, problème de récursivité pour des types de fichiers

commande rm, problème de récursivité pour des types de fichiers - Linux et OS Alternatifs

Marsh Posté le 18-10-2004 à 12:15:11    

Bonjour à tous,
sur ma clef usb tous les répertoires sont assortis d'un fichier "index.dat" (je crois que c'est arrivé après l'avoir branchée sur un Mac).  Comme il y a beaucoup de répertoires et sous-répertoires, j'ai pas vraiment envie de le fair à la main.  
Alors direct j'ai envoyé en console:  
rm -Rf *.dat (à partir du repertoire clef usb)
Bon et bien ça n'enlève que le fichier index.dat du premier répertoire.  
Savez-vous comment je peux faire cela, quelle commande rentrer (quel argument, mode...).
Ensuite, est-il possible de faire un "cp" en excluant de la copie un type de fichier (les .dat en l'occurence, il y en a tellement que ça fait ramer mes transferts de fichiers sur la clef).
Voilà, j'éspère que quelqu'un aura une idée. J'ai cherché sur le forum, relu les tutos basiques sur ces commandes basiques, mais je n'ai pas trouvé de réponse.

Reply

Marsh Posté le 18-10-2004 à 12:15:11   

Reply

Marsh Posté le 18-10-2004 à 12:17:40    

Ah mon avis, il faut faire un script pour ça.

Reply

Marsh Posté le 18-10-2004 à 12:27:11    

à partir du répertoire de ta clé usb:
 
find . -name index.dat -exec rm -f {} \;

Reply

Marsh Posté le 18-10-2004 à 12:29:55    

Ok, je vais essayer. Mais histoire que j'en apprenne un peu plus, est-ce que tu peux expliquer la commande stp.
c'est surtout la fin de rm -f {} \; que je comprends pas...

Reply

Marsh Posté le 18-10-2004 à 12:34:30    

Le -exec permet d'exécuter, pour chaque résultat du find, la commande passée en paramètre.
Le {} représente le(s) fichier(s) trouvé(s) par find;
A la fin, le point-virgule est protégé par un antislash pour indiquer qu'il est également un paramètre du exec et non pas un opérateur du shell courant. Le point virgule marque donc la fin de la commande rm et non pas de la commande find.

Reply

Marsh Posté le 18-10-2004 à 13:00:19    

:jap:  
pourquoi rm -Rf *.dat ça marche pas?
Parce que je lui demande de rentrer dans une arborescence qui n'exite pas?

Reply

Marsh Posté le 18-10-2004 à 13:02:23    

oui, voir des cours sur l'expansion des arguments du shell


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 18-10-2004 à 13:05:02    

et les finder.dat c'est à cause Mac où je délire?

Reply

Marsh Posté le 18-10-2004 à 13:10:36    

c'est les macos qui mettent leur cochonneries un peu partout où ils passent [:dawa]


Message édité par black_lord le 18-10-2004 à 13:10:47

---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 18-10-2004 à 14:49:44    

commande essayée, ça marche.
Merci black lord...

Reply

Marsh Posté le 18-10-2004 à 14:49:44   

Reply

Marsh Posté le 18-10-2004 à 15:49:03    

shaddy a écrit :

et les finder.dat c'est à cause Mac où je délire?


oui, en gros c est un fichier caché qui donne les parametres d'affichage du repertoire (taille des icones, fond, police, disposition, etc...)
la en l occurence, ce sont les parametres du finder de macos (le bureau en quelque sorte ;) )


Message édité par Ben Ji le 18-10-2004 à 15:50:47
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed