Recherche de site Web

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 produitPrixAcheter
eBook : Présentation du guide de démarrage Awk pour les débutants8,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.

Articles connexes: