xargs
Traitement de texte
Syntaxe
[cmd] | xargs [cmd2]Transforme les lignes reçues en arguments d'une autre commande ; les noms contenant des espaces cassent tout, sauf si les deux côtés utilisent NUL, soit find -print0 avec xargs -0.
Options courantes
| Option | Signification |
|---|---|
| -n | How many arguments to hand over per run |
| -I | Put the argument where a placeholder such as {} sits |
| -0 | Read NUL-separated input, to pair with find -print0 |
| -P | Run that many copies at once |
| -r | Do not run the command at all on empty input |
| -t | Print each command before running it |
Exemples
find . -name '*.log' -print0 | xargs -0 rmDeletes them even when names hold spaces.
xargs -n1 -P4 curl -O < urls.txtFour downloads at a time.
ls *.txt | xargs -I{} mv {} old/{}Uses {} where the file name goes.
Ils sont faits pour être chaînés avec des tubes. Trois commandes reliées sont souvent plus courtes qu’une seule qui fait tout.
Comment lire
- Les crochets [ ] marquent une partie facultative.
- Les points de suspension … signifient qu’on peut en mettre plusieurs.
- Les options sont sensibles à la casse : sur certaines commandes, -r et -R ne font pas la même chose.
Questions fréquentes
Q. Que fait xargs ?
Transforme les lignes reçues en arguments d'une autre commande ; les noms contenant des espaces cassent tout, sauf si les deux côtés utilisent NUL, soit find -print0 avec xargs -0.
Q. Comment l’écrire ?
[cmd] | xargs [cmd2] — les crochets marquent ce qui est facultatif.
Q. Combien d’options valent la peine ?
Il y en a 6 ici ; la liste complète est dans man xargs. Cette commande relève de Traitement de texte.
Commandes liées
page man: man xargs