Commande xargs : apprenez à exécuter des commandes comme arguments à partir de stdin

Avec Linux xargs, transformez des entrées standard en commandes et utilisez-les directement. Bien que la commande xargs ne soit pas souvent utilisée sous Linux, elle peut considérablement simplifier votre travail.

Qu’est-ce que la commande xargs ?

La commande xargs signifie « extended arguments », soit extension des arguments. Elle fait partie des commandes Linux qui ne sont jamais, ou rarement, appliquées par la majorité des utilisateurs. La commande est pourtant en mesure de simplifier considérablement le travail et, selon les cas, peut même ménager votre ordinateur. De manière simplifiée, Linux xargs relie deux commandes en exploitant le résultat de la première qu’elle applique à la deuxième. Cela s’avère notamment utile lorsque vous devez traiter un grand nombre de fichiers et exécuter de manière répétée des tâches spécifiques.

La commande xargs est incluse dans la majorité des distributions Linux, comme Debian ou Ubuntu, il n’est donc pas nécessaire de l’installer.

Comment fonctionne la commande xargs ?

xargs lit les données à partir des stdin (les données d’entrée) et les convertit en lignes de commande. L’instruction correspondante doit donc être fournie à la commande sous la forme d’un paramètre ou d’un argument. Les commandes respectives sont ensuite exécutées une ou plusieurs fois. Si vous renoncez à indiquer une commande spéciale comme paramètre, xargs utilise automatiquement la commande echo.

Quelle est la syntaxe de Linux xargs ?

Si vous souhaitez utiliser la commande xargs sur le terminal, respectez la syntaxe suivante :

$ Première_commande| xargs [Options] [Deuxième_commande]
bash

La deuxième commande est exécutée avec les arguments de la première commande.

Quelles sont les options de la commande xargs ?

La commande Linux xargs possède de nombreuses options. Voici les principales :

  • -0 ou –null : avec cette option, chaque caractère est utilisé littéralement et les arguments sont séparés par des caractères null.
  • -a ou –arg-file : avec cette option, les arguments ne sont pas lus depuis l’entrée standard, mais depuis un fichier.
  • -d ou –delimiter : avec cette option, les séparations se basent sur les traits d’union et non sur les espaces. Dans ce cas également, chaque caractère est utilisé littéralement.
  • -p ou –interactive : avant chaque exécution, cette option demande si xargs doit continuer.

Exemples d’utilisation de Linux xargs

Le meilleur moyen d’expliquer le fonctionnement de la commande xargs est de présenter quelques exemples.

$ find -name "*.txt" | xargs rm
bash

Dans cet exemple, vous combinez xargs à la commande find et à la commande rm. Le résultat de cet exemple est que tous les fichiers portant l’extension .txt dans le système de fichiers de l’ordinateur sont exclus.

$ find -name "*.txt" | xargs grep "ordinateur"
bash

Avec cette commande, vous recherchez tous les fichiers qui contiennent le mot « ordinateur ». Pour ce faire, vous devez également utiliser la commande grep.