[Linux] commande shell
Alain Gaymard
alain.gaymard@::1
Sam 15 Déc 11:39:23 CET 2007
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
Plus d'informations sur la liste de diffusion linux