Xargs

Xargs
Informations
Type Utilitaire UNIX (d)
Programme informatiqueVoir et modifier les données sur Wikidata

xargs (abréviation de «extended arguments», arguments étendus) est une commande Unix présente dans la plupart des systèmes d'exploitation de type Unix. Elle est utilisée pour construire et exécuter des commandes à partir de l'entrée standard; mise en argument à toute autre programme.

En effet, certain programme comme grep et awk peuvent prendre en entrée soit des arguments de ligne de commande, soit l'entrée standard. Cependant, cp ou echo ne peuvent accepter d'entrée que sous forme d'arguments, c'est pourquoi xargs est nécessaire.

Exemples

Un des exemples d'usage de la commande xargs est sa faculté à prendre une liste d'argument en entrée pour la donner à tout autre programme. Stéphane Chazelas documente et explique cet usage et précise que la fonctionalité d'xargs permet d'éviter d'employer des boucles (for, while, etc.)

while IFS= read -r line; do
    someprog -f "$line"
done < file-list.txt

# cette boucle pourrait être écrite en une seule ligne avec xargs :

<file-list.txt tr '\n' '\0' | xargs -r0 -n1 someprog -f 

# ou encore avec gnu xargs

xargs -rd '\n' -n1 -a file-list.txt someprog -f

Pages du manuel

Références

(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Xargs » (voir la liste des auteurs).
  1. ↑ « The Unix Acronym List: The Complete List » [archive du ], www.roesler-ac.de (consulté le )
  2. ↑ (en) « Why is using a shell loop to process text considered bad practice? », sur Unix & Linux Stack Exchange (consulté le )