[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