Jean BENOIT a écrit :
On Thu, Dec 13, 2007 at 07:35:48PM +0100, PABST Thomas wrote:
Bonsoir,

je souhaite récupérer à l'aide d'un pipe, les résultats d'une commande, et
effectuer une autre commande sur les résultat, mais je ne sais pas quelle
opérande utiliser:

:~$ locate "Thumbs.db" | rm

ici je veux supprimer tous les fichiers nommés Thumbs.db localisé sur le pc.
Quelle opérande faut-il utiliser après rm ?

Pourquoi utiliser un pipe dans cet exemple ? Si tu veux supprimer tous les fichiers Thumbs.db je suggère

find . -name Thumbs.db -exec rm {} \;

(tu peux tester en remplaçant "rm" par "echo" avant de lancer la commande !)

Après -exec on met la commande qu'on veut exécuter et "{}" représente l'objet trouvé. Le backslash sert à échapper le caractère ";".

Aucune idée de ce qui est mieux du point de vue des performances et/ou des limites sur le nombre de fichiers trouvés.

Xargs te permettra de combiner plein de commandes, c'est la solution "générique".
--
Alain

Répondre à