Lors de l’utilisation de la ligne de commande, vous pouvez directement passer la sortie d’un programme (par exemple, un outil qui génère des informations système ou des statistiques) comme entrée pour un autre programme (tel que des outils de filtrage de texte ou de recherche de modèles comme grep, sed ou awk, pour un traitement ultérieur), à l’aide d’un pipeline.

Deux des utilitaires de ligne de commande les plus importants pouvant être utilisés avec des pipelines pour créer des lignes de commande sont :

  • xargs – lit des flux de données à partir d’une entrée standard, puis génère et exécute des lignes de commande.
  • tee – lit à partir de l’entrée standard et écrit simultanément sur la sortie standard et un ou plusieurs fichiers. C’est plus une commande de redirection.

Dans cet article simple, nous décrirons comment créer et exécuter plusieurs commandes à partir d’une entrée standard à l’aide de tuyaux, tee, et xarg commandes sous Linux.

La syntaxe la plus simple pour utiliser un tuyau, que vous avez peut-être déjà vu dans les commandes de bon nombre de nos didacticiels Linux, est le suivant. Mais vous pouvez créer une ligne de commande plus longue avec plusieurs commandes.

Publicité
$ command1 args | command2 args 
OR
# command1 args | command2 args | command3 args ...

Vous trouverez ci-dessous un exemple d’utilisation d’un pipeline pour transmettre la sortie de la commande dmesg à la commande head.

$ dmesg | head
Passer La Sortie De La Commande À Une Autre Commande
Passer La Sortie De La Commande À Une Autre Commande

Comment utiliser xargs pour exécuter des commandes

Dans cet exemple, la deuxième commande convertit la sortie multiligne en une seule ligne à l’aide de xargs.

$ ls -1 *.sh
$ ls -1 *.sh | xargs
Exécuter Des Commandes À L'Aide De Xargs
Exécuter Des Commandes À L&Rsquo;Aide De Xargs

Pour compter le nombre de lignes/mots/caractères dans chaque fichier d’une liste, utilisez les commandes ci-dessous.

$ ls *.sh | xargs wc -l	    #count number of lines in each file
$ ls *.sh | xargs wc -w	    #count number of words in each file
$ ls *.sh | xargs wc -c	    #count number of characters in each file
$ ls *.sh | xargs wc	    #count lines, words, and characters in each file
Compter Les Mots Du Fichier À L'Aide De Xargs
Compter Les Mots Du Fichier À L&Rsquo;Aide De Xargs

La commande ci-dessous trouve et supprime récursivement le répertoire nommé All dans le répertoire courant.

$ find . -name "All" -type d -print0 | xargs  -0 /bin/rm -rf "{}"

La commande find avec l’option -print0 active l’impression du chemin complet du répertoire sur la sortie standard, suivi d’un caractère nul et -0 xargs flag traite de l’espace dans les noms de fichiers.

Vous pouvez trouver d’autres pratiques commande xargs exemples d’utilisation dans ces articles :

Comment utiliser Tee avec des commandes sous Linux

Cet exemple montre comment envoyer la sortie de la commande vers la sortie standard et l’enregistrer dans un fichier ; la commande ci-dessous vous permet d’afficher les principaux processus en cours d’exécution en fonction de l’utilisation maximale de la mémoire et du processeur sous Linux.

$ ps -eo cmd,pid,ppid,%mem,%cpu --sort=-%mem | head | tee topprocs.txt
$ cat  topprocs.txt
Enregistrer La Sortie De La Commande Dans Un Fichier
Enregistrer La Sortie De La Commande Dans Un Fichier

Pour ajouter des données dans un ou plusieurs fichiers existants, passez le -a drapeau.

$ ps -eo cmd,pid,ppid,%mem,%cpu --sort=-%mem | head | tee -a topprocs.txt 

Vous pouvez trouver plus d’informations sur le tee et xarg pages de manuel.

$ man xargs
$ man tee

C’est tout! N’oubliez pas de consulter notre article spécial : A – Z Linux Commands – Overview with examples.

Dans cet article, nous avons décrit comment générer des lignes de commande à l’aide de pipelines ; commandes xargs et tee. Vous pouvez poser des questions ou partager des réflexions via le formulaire de commentaires ci-dessous.

Si vous appréciez ce que nous faisons ici sur TecMint, vous devriez considérer :

TecMint est le site communautaire à la croissance la plus rapide et le plus fiable pour tout type d’articles, de guides et de livres Linux sur le Web. Des millions de personnes visitent TecMint ! pour rechercher ou parcourir les milliers d’articles publiés accessibles GRATUITEMENT à tous.

Si vous aimez ce que vous lisez, pensez à nous acheter un café (ou 2) en signe d’appréciation.

Soutenez-Nous

Nous sommes reconnaissants pour votre soutien sans fin.

Rate this post
Publicité
Article précédentYu-Gi-Oh! Allez vite !! L’anime ajoute Kohsuke Tanabe et Yuu Hayashi au casting – News 24
Article suivantSamsung présente une nouvelle fonctionnalité pour protéger les utilisateurs contre les attaques de logiciels malveillants sans clic
Avatar De Violette Laurent
Violette Laurent est une blogueuse tech nantaise diplômée en communication de masse et douée pour l'écriture. Elle est la rédactrice en chef de fr.techtribune.net. Les sujets de prédilection de Violette sont la technologie et la cryptographie. Elle est également une grande fan d'Anime et de Manga.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici