Comment lire l'entrée awk de Stdin dans Linux - Partie 7
- 3059
- 921
- Anaïs Charles
Dans les parties précédentes de la série d'outils AWK, nous avons examiné la lecture des entrées principalement à partir d'un (s) fichier (s), mais que se passe-t-il si vous voulez lire l'entrée de Stdin.
Dans cette partie 7 de la série AWK, nous examinerons quelques exemples où vous pouvez filtrer la sortie d'autres commandes au lieu de lire l'entrée d'un fichier.
Nous allons commencer par l'utilitaire DIR qui fonctionne similaire à la commande LS, dans le premier exemple ci-dessous, nous utilisons la sortie de dir -l
Commande comme entrée pour AWK pour imprimer le nom d'utilisateur du propriétaire, le nom de groupe et les fichiers qu'il possède dans le répertoire actuel:
# dir -l | awk 'print $ 3, $ 4, $ 9;'Liste des fichiers appartenant à l'utilisateur dans Directory
Jetez un œil à un autre exemple où nous utilisons des expressions awk, ici, nous voulons imprimer des fichiers appartenant à la racine utilisateur en utilisant une expression pour filtrer les chaînes comme dans la commande awk ci-dessous:
# dir -l | awk '$ 3 == "root" print $ 1, $ 3, $ 4, $ $;'Lister les fichiers détenus par l'utilisateur root
La commande ci-dessus comprend le (==)
Opérateur de comparaison pour nous aider à filtrer les fichiers dans le répertoire actuel qui appartiennent à l'utilisateur racine. Ceci est réalisé en utilisant l'expression 3 $ == ”racine"
.
Regardons un autre exemple de l'endroit où nous utilisons un opérateur de comparaison awk pour correspondre à une certaine chaîne.
Ici, nous avons utilisé l'utilitaire Cat pour afficher le contenu d'un fichier nommé Tecmint_deals.SMS Et nous voulons voir les offres de type Technologie Seulement, nous exécuterons donc les commandes suivantes:
# chat tecmint_deals.txt # chat tecmint_deals.txt | awk '$ 4 ~ / tech / print' # chat tecmint_deals.txt | awk '$ 4 ~ / tech / print'Utilisez l'opérateur de comparaison awk pour faire correspondre la chaîne
Dans l'exemple ci-dessus, nous avons utilisé la valeur ~ / motif /
Opérateur de comparaison, mais il y a deux commandes pour essayer de faire ressortir quelque chose de très important.
Lorsque vous exécutez la commande avec le motif technologie rien n'est imprimé car il n'y a pas accord de ce type, mais avec Technologie, vous obtenez des offres de type Technologie.
Soyez donc toujours prudent lorsque vous utilisez cet opérateur de comparaison, il est sensible à la casse comme nous l'avons vu ci-dessus.
Vous pouvez toujours utiliser la sortie d'une autre commande à la place comme entrée pour awk au lieu de lire l'entrée d'un fichier, c'est très simple comme nous l'avons regardé dans les exemples ci-dessus.
J'espère que les exemples étaient suffisamment clairs pour que vous puissiez comprendre, si vous avez des préoccupations, vous pouvez les exprimer par la section des commentaires ci-dessous et n'oubliez pas de vérifier la partie suivante de la série où nous examinerons awk des fonctionnalités telles que variables, Expressions numériques et opérateurs d'affectation.
- « Comment configurer le serveur de courrier postfix et Dovecot avec la base de données (MARIADB) en toute sécurité - partie 1
- Configuration de la surveillance en temps réel avec des «ganglions» pour les grilles et les grappes de serveurs Linux »