2010-09-11 24 views
3

J'ai un ordinateur portable installé avec Ubuntu 10.04. J'ai migré certains de mes fichiers d'un ordinateur vers cet ordinateur. Mais il y a quelques fichiers comme le fichier Thumbs.db dont je souhaite me débarrasser de toutes les occurrences.Utilisation de tubes pour supprimer toutes les occurrences du fichier Thumbs.db d'Ubuntu Laptop

J'ai essayé d'utiliser

locate Thumbs.db | rm 

Mais dis n'a pas fonctionné (et clairement il ne faut pas). Ensuite, j'ai essayé d'utiliser ce qui suit, mais tout à fait expectedly aucun d'entre eux a marché:

locate thumbs.db > rm 
locate thumbs.db < rm 

Comme tout le monde ici, aurait pu indiquer que j'ai du mal à utiliser pipeline et que vous voulez simplement effacer mon concept en utilisant cela comme une Exemple. J'ai lu les bases mais je ne suis toujours pas capable de l'appliquer de manière intuitive.

Répondre

1

Vous pouvez essayer:

find /mnt/something -iname 'thumbs.db' -exec rm -v {} \; 

ou si vous voulez vraiment utiliser des tuyaux que vous pouvez essayer

find /mnt/something -iname 'thumbs.db' | xargs rm -v 

-iname recherchera 'Thumbs.db' et 'thumbs.db'. Vérifiez l'homme pour plus d'informations.

modifiez /mnt/something pour votre chemin.

Edit:

Je pense que vous pouvez essayer:

find /mnt/someting -iname 'thumbs.db' | while read junk; do rm -v "$junk"; done 

Il devrait fonctionner avec ce dirs contiennent l'espace dans le nom, etc.

+0

Un problème avec ce qui précède est que disons que j'ai un répertoire "New Directory" qui ont un fichier Thumbs.db. Lorsque j'émets la commande ci-dessus, il essaie de supprimer Thumbs.db des répertoires "New" et "Directory" qui n'existent pas sur mon ordinateur. – w2lame

+0

Cest où pipe et xargs suce, si vous utiliserez celui avec -exec il fonctionnera comme vous voulez. –

+1

trouver et xargs ne sucent pas. Utilisez simplement 'find ... -print0 | xargs -0 ... '. Cela utilise des caractères nuls pour séparer le nom de fichier, de sorte que les espaces ne sont plus spéciaux. –

7

find a déjà une fonction de suppression, donc pas les tuyaux sont nécessaires:

find . -iname thumbs.db -delete 

Cela dit supprimer tous les fichiers matc hing thumbs.db indépendamment de la capitalisation, récursivement de mon répertoire de travail actuel.

+0

@ w2lame: Essayez aussi 'trouver. -iname * .ini -delete' si vous voulez vous débarrasser de ces fichiers aussi. – ferkulat