xargs

xargs permet de “renverser” une liste: On lui fournit une liste et lui passe cette liste en paramètres à la commande spécifiée: chaque ligne de la liste devient un paramètre.

Cela permet d'outrepasser les limites en taille de la ligne de commande ou gérer les noms de fichiers avec des espaces/retours chariots/… par exemple (il faut utiliser l'option -0 vraisemblablement en combinaison avec l'option -print0 de find).

Exemples

Chercher un motif par grep dans tous les fichiers de tous les sous réportoires courants:

find . -type f | xargs grep motif

Effacer tous les fichiers (y compris dans les sous répertoires) mais sans effacer la structure de dossiers:

find . -type f | xargs rm

Il s'agit ici d'exemple pour illustrer xargs, mais dans le cas de find il vaut mieux utiliser -exec.

find . -type f -exec grep motif {} \;
find . -type f -exec rm {} \;
 
filtres/xargs.txt · Dernière modification: 2009/02/27 13:04 par danielcaillibaud