C'est quoi, xargs ?
xargs prend la sortie d'une commande et la passe comme arguments à une autre commande. C'est le chaînon manquant quand les pipes ne suffisent pas.
💡 L'analogie : si le pipe | dit "envoie la sortie en entrée", xargs dit "envoie la sortie en ARGUMENTS". La différence est fondamentale.
# Supprimer tous les fichiers .log trouvés par find
$ find . -name "*.log" | xargs rm
# Chercher un mot dans tous les .js
$ find . -name "*.js" | xargs grep "TODO"
# Avec -I pour placer l'argument où on veut
$ cat urls.txt | xargs -I{} curl -O {}
# Paralléliser (4 processus simultanés)
$ cat liste.txt | xargs -P 4 -I{} traiter {}
# Confirmation avant exécution
$ find . -name "*.tmp" | xargs -p rm