| Type |
Utilitaire UNIX (d) Programme informatique |
|---|
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.
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
xargs(1) – GNU Findutils referencexargs(1): construct argument list(s) and execute utility – FreeBSD General Commands Manualxargs(1): construct argument list(s) and execute utility – NetBSD General Commands Manualxargs(1): construct argument list(s) and execute utility – OpenBSD General Commands Manualxargs(1): construct argument lists and invoke utility – Solaris 11.4 User Commands Reference Manual