Si vous essayez de diriger la sortie d'une commande Linux vers une autre, vous pouvez rencontrer des erreurs où la commande échoue car sa liste d'arguments est trop longue.

Heureusement, il existe une commande sur les systèmes Linux qui formate correctement les arguments des commandes. Cela s'appelle xargs et voici comment l'utiliser.

Pourquoi utiliser xargs ?

Ce que fait xargs, c'est qu'il reçoit la sortie standard et la formate pour qu'une autre commande puisse la recevoir. Alors que de nombreux utilitaires Linux peuvent accepter une entrée standard, certains n'acceptent que des arguments en entrée.

Celles-ci peuvent échouer si vous essayez de rediriger l'entrée standard vers la commande. Certaines commandes n'acceptent encore qu'un certain nombre d'arguments et xargs s'en charge pour vous.

Comment utiliser xargs sous Linux

Vous pouvez appeler xargs comme ceci :

xargs [commande]

xargs garde une trace de la longueur des arguments qu'une commande accepte et formate l'entrée standard pour produire une liste d'arguments à fournir à la commande. Lorsqu'il atteint la limite d'une ligne de commande, il

instagram viewer
invoquer la commande à nouveau avec les arguments restants.

Utilisation de xargs dans les pipelines

L'utilité de xargs vient quand il est utilisé dans les pipelines. Un exemple artificiel serait de faire passer cat à echo, qui est une commande qui n'accepte que les arguments, pas l'entrée standard.

chat | écho

Cela entraînera echo pour imprimer tout ce que vous tapez sur une ligne dès que vous appuyez sur Ctrl + D.

xargs est le plus souvent utilisé avec la commande find, avec la commande de recherche utilisé pour répertorier les fichiers et xargs utilisé pour traiter la liste des fichiers d'une manière ou d'une autre.

La syntaxe de la commande find est assez poilue, alors pourquoi y ajouter une autre commande? Si vous utilisez find "-exec", il démarrera un nouveau processus chaque fois qu'il recherchera dans un fichier du répertoire. L'utilisation de xargs est plus efficace.

Vous souhaiterez peut-être supprimer des fichiers d'un répertoire antérieurs à une certaine date, par exemple 90 jours. Pour ce faire, vous utiliseriez ce pipeline :

trouver. -mtime +90 -print | xargsrm

xargs aide les commandes Linux à traiter correctement les entrées

Avec xargs, vous pouvez maintenant vous assurer que les commandes prendront les arguments comme vous l'attendez. Combiné avec la recherche, il vous permettra de traiter rapidement les fichiers sur votre machine.

La possibilité de rediriger les entrées et les sorties dans le shell est l'une des forces durables de Linux en tant qu'excroissance de la philosophie Unix. Si vous voulez en savoir plus sur le fonctionnement de la redirection d'entrée/sortie Linux, lisez la suite.

Comprendre les E/S standard sous Linux

Améliorez votre flux de travail de ligne de commande Linux en regroupant plusieurs commandes à l'aide d'E/S standard.

Lire la suite

PartagerTweeterE-mail
Rubriques connexes
  • Linux
  • Commandes Linux
  • Shell bash Linux
A propos de l'auteur
David Delony (81 articles publiés)

David est un écrivain indépendant basé dans le nord-ouest du Pacifique, mais originaire de la région de la baie. Il est un passionné de technologie depuis l'enfance. Les intérêts de David incluent la lecture, le visionnage d'émissions de télévision et de films de qualité, les jeux rétro et la collection de disques.

Plus de David Delony

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner