Comment exécuter les commandes à partir d'entrée standard à l'aide de Tee et Xargs dans Linux
- 1193
- 124
- Zoe Dupuis
Lors de l'utilisation de la ligne de commande, vous pouvez dire directement la sortie d'un programme (par exemple un outil qui génère certaines informations ou statistiques système) en entrée pour un autre programme (tel que les outils de filtrage de texte ou de recherche de modèle comme Grep, SED ou awk, pour un traitement ultérieur), en utilisant un pipeline.
[Vous pourriez également aimer: Apprenez les bases de la fonctionnalité des E / S Linux (entrée / sortie)]
Deux des utilitaires de ligne de commande les plus importants qui peuvent être utilisés avec des pipelines pour créer des lignes de commande sont:
- xargs - lit des flux de données à partir de l'entrée standard, puis génère et exécute des lignes de commande.
- Tee - Lire à partir des entrées standard et écrit simultanément à la sortie standard et à un ou plusieurs fichiers. C'est plus une commande de redirection.
Dans cet article simple, nous décrire comment construire et exécuter plusieurs commandes à partir de l'entrée standard en utilisant tuyaux, tee, et xargs Commandes dans Linux.
La syntaxe la plus simple pour utiliser un tuyau, que vous avez peut-être déjà vu dans les commandes dans plusieurs de nos tutoriels Linux, est le suivant. Mais vous pouvez créer une ligne de commande plus longue avec plusieurs commandes.
$ Command1 args | Command2 args ou # Command1 args | Command2 args | Command3 args…
Vous trouverez ci-dessous un exemple d'utilisation d'un pipeline pour passer la sortie de la commande DMESG à la commande Head.
$ dmesg | dirigerPasser la commande de commande vers une autre commande
Comment utiliser des xargs pour exécuter les commandes
Dans cet exemple, la deuxième commande convertit la sortie muti-ligne en une seule ligne à l'aide de xargs.
$ ls -1 *.sh $ ls -1 *.sh | xargsExécuter des commandes à l'aide de xargs
Pour compter le nombre de lignes / mots / caractères dans chaque fichier dans une liste, utilisez les commandes ci-dessous.
$ ls *.sh | xargs wc -l #Count Nombre de lignes dans chaque fichier $ ls *.sh | xargs wc -w #count nombre de mots dans chaque fichier $ ls *.sh | xargs wc -c #Count Nombre de caractères dans chaque fichier $ ls *.sh | xargs wc #Count lignes, mots et caractères dans chaque fichierComptez les mots de fichiers à l'aide de xargs
La commande ci-dessous trouve et supprime récursivement le répertoire nommé Tous
Dans le répertoire actuel.
$ trouver . -nom "Tous"-Type d -print0 | xargs -0 / bin / rm -rf" "
La commande finir avec l'option -print0
L'action permet l'impression du chemin du répertoire complet sur la sortie standard, suivi d'un caractère nul et -0 xargs
Flag trace avec l'espace dans les noms de fichiers.
Vous pouvez trouver d'autres pratiques commande xargs Exemples d'utilisation dans ces articles:
- Comment copier un fichier dans plusieurs répertoires dans Linux
- Renommez tous les fichiers et noms de répertoires en minuscules dans Linux
- 4 façons de convertir votre PNG en JPG et vice-versa
- 3 façons de supprimer tous les fichiers dans un répertoire, sauf un ou quelques fichiers avec des extensions
Comment utiliser Tee avec des commandes dans Linux
Cet exemple montre comment envoyer la sortie de commande à la sortie standard et l'enregistrer dans un fichier; La commande ci-dessous vous permet de visualiser les processus supérieurs en cours d'exécution par la plus haute mémoire et l'utilisation du processeur dans Linux.
$ ps -eo cmd, pid, ppid,% mem,% CPU --sort = -% mem | Tête | to-topprocs.txt $ chat topprocs.SMSEnregistrer la sortie de la commande dans le fichier
Pour ajouter les données dans un (s) fichier (s) existant, passez le -un
drapeau.
$ ps -eo cmd, pid, ppid,% mem,% CPU --sort = -% mem | Tête | Tee -a Topprocs.SMS
Vous pouvez trouver plus d'informations sur le tee et xargs pages d'homme.
$ man xargs $ man tee
C'est tout! N'oubliez pas de consulter notre article spécial: les commandes A - Z Linux - Présentation avec des exemples.
Dans cet article, nous avons décrit comment générer des lignes de commande à l'aide de pipelines; xargs et commandes de tee-shirt. Vous pouvez poser des questions ou partager des réflexions via le formulaire de rétroaction ci-dessous.
- « Comment installer R Language de programmation dans Linux
- Comment utiliser la commande «Tee» dans Linux [8 exemples utiles] »