Comment utiliser des expressions composées avec awk sous Linux - Partie 5
Depuis le début, nous avons examiné des expressions simples pour vérifier si une condition a été remplie ou non. Que se passe-t-il si vous souhaitez utiliser plusieurs expressions pour vérifier une condition particulière ?
Dans cet article, nous allons voir comment vous pouvez combiner plusieurs expressions appelées expressions composées pour vérifier une condition lors du filtrage de texte ou de chaînes.
Expressions composées dans awk
Dans Awk, les expressions composées sont construites à l’aide des opérateurs composés & & (et) et || appelés (ou).
La syntaxe générale des expressions composées est la suivante :
expression1 && expression2
La syntaxe ci-dessus représente une opération logique AND, où expression1 et expression2 doivent être vraies pour que l’expression globale soit vraie.
De même, vous pouvez utiliser l’opérateur || pour une opération OU logique.
expression1 || expression2
Ici, l’une des expressions est soit expression1, soit expression2 doit être vraie pour que l’expression entière soit vraie.
Les expressions peuvent être construites à l’aide des opérateurs de comparaison que nous avons examinés dans la partie 4 de la série awk.
Dans cet article, nous allons explorer comment utiliser des expressions composées avec Awk sous Linux, à l’aide d’exemples pratiques.
Exemple de fichier
Dans cet exemple, nous avons un fichier texte nommé tecmint_deals.txt, qui contient une liste de quelques offres Tecmint aléatoires incroyables, il comprend le nom de l’offre, le prix et le type.
No Name Price Type
1 Mac_OS_X_Cleanup_Suite $9.99 Software
2 Basics_Notebook $14.99 Lifestyle
3 Tactical_Pen $25.99 Lifestyle
4 Scapple $19.00 Unknown
5 Nano_Tool_Pack $11.99 Unknown
6 Ditto_Bluetooth_Altering_Device $33.00 Tech
7 Nano_Prowler_Mini_Drone $36.99 Tech
Exemple 1 : Filtrage par plage de prix
Supposons que nous voulions filtrer les produits dont le prix est compris entre 10 $ et 20 $, nous pouvons utiliser une expression composée dans Awk comme indiqué.
awk '$3 >= 10 && $3 <= 20 { print $0 }' tecmint_deals.txt
Exemple de sortie :
1 Mac_OS_X_Cleanup_Suite $9.99 Software
4 Scapple $19.00 Unknown
5 Nano_Tool_Pack $11.99 Unknown
Exemple 2 : Combiner des conditions
Supposons que nous souhaitions filtrer des produits de type « Logiciel » ou « Tech ». Nous pouvons utiliser l’opérateur logique OR (||) dans notre expression composée.
awk '$4 == "Software" || $4 == "Tech" { print $0 }' tecmint_deals.txt
Exemple de sortie :
1 Mac_OS_X_Cleanup_Suite $9.99 Software
6 Ditto_Bluetooth_Altering_Device $33.00 Tech
7 Nano_Prowler_Mini_Drone $36.99 Tech
Exemple 3 : Combinaison de conditions
Maintenant, combinons les conditions de prix et de type. Supposons que nous souhaitions filtrer les produits dont le prix est inférieur à 20 $ et qui sont de type « Inconnu ». Nous pouvons le faire en combinant deux conditions avec l’opérateur logique AND (&&) :
awk '$3 < 20 && $4 == "Unknown" { print $0 }' tecmint_deals.txt
Exemple de sortie :
1 Mac_OS_X_Cleanup_Suite $9.99 Software
5 Nano_Tool_Pack $11.99 Unknown
Exemple 4 : Conditions de négation
Enfin, disons que nous voulons exclure les produits de type « Lifestyle ». Nous pouvons y parvenir en niant la condition à l’aide de l’opérateur logique NOT ( !) :
awk '$4 != "Lifestyle" { print $0 }' tecmint_deals.txt
Exemple de sortie :
1 Mac_OS_X_Cleanup_Suite $9.99 Software
4 Scapple $19.00 Unknown
5 Nano_Tool_Pack $11.99 Unknown
6 Ditto_Bluetooth_Altering_Device $33.00 Tech
7 Nano_Prowler_Mini_Drone $36.99 Tech
Résumé
Certaines conditions nécessitent toujours la création d’expressions composées pour que vous correspondiez exactement à ce que vous voulez. Lorsque vous comprenez l’utilisation des opérateurs de comparaison et d’expression composée, le filtrage du texte ou des chaînes de caractères en fonction de certaines conditions difficiles deviendra facile.
Pour ceux qui recherchent une ressource complète, nous avons compilé tous les articles de la série Awk dans un livre, qui comprend 13 chapitres et s’étend sur 41 pages, couvrant à la fois l’utilisation de base et avancée d’Awk avec des exemples pratiques.
| Nom du produit | Prix | Acheter |
|---|---|---|
| eBook : Présentation du guide de démarrage Awk pour les débutants | 8,99 $ | [Acheter maintenant] |
J’espère que vous trouverez ce guide utile et pour toute question ou ajout, n’oubliez jamais de laisser un commentaire, et votre problème sera résolu en conséquence.