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