... commandes avec xargs
De nombreux utilisateurs de Linux n'ont jamais entendu parler de la commande xargs, mais c'est un outil puissant qui permet de construire et d'exécuter plusieurs commandes similaires. L'apprentissage de xargs a été un autre moment transformateur dans mon éducation Linux, et j'espère qu'il en sera de même pour la tienne.
xargs accepte deux entrées :
-
Sur stdin : Une liste de chaînes de caractères séparées par des espaces. Par exemple, les chemins d'accès aux fichiers produits par
lsoufind, mais n'importe quelle chaîne de caractères fera l'affaire. Je les appellerai les chaînes d'entrée. -
Sur la ligne de commande : Une commande incomplète à laquelle il manque quelques arguments, que j'appellerai le modèle de commande.
xargs fusionne les chaînes d'entrée et le modèle de commande pour produire et exécuter de nouvelles commandes complètes, que j'appellerai les commandes générées. Je vais démontrer ce processus à l'aide d'un petit exemple. Suppose que tu te trouves dans un répertoire contenant trois fichiers :
$ ls -1 apple banana cantaloupe
Dirige la liste des répertoires vers xargs pour qu'elle serve de chaîne d'entrée, et donne à wc -l le modèle de commande, comme suit :
$ ls -1 | xargs wc -l 3 apple 4 banana 1 cantaloupe 8 total
Comme promis, xargs a appliqué le modèle de commande wc -l aux chaînes d'entrée et compte les lignes dans chaque fichier. Pour imprimer les trois mêmes fichiers avec cat, il suffit de remplacer le modèle de commande par "cat" :
$ ls ...