Comment utiliser les opérateurs de comparaison avec awk sous Linux - Partie 4
Lorsqu’il s’agit de valeurs numériques ou de chaînes dans une ligne de texte, le filtrage du texte ou des chaînes à l’aide d’opérateurs de comparaison est pratique pour les utilisateurs de la commande awk.
Dans cette partie de la série Awk, nous allons voir comment vous pouvez filtrer du texte ou des chaînes à l’aide d’opérateurs de comparaison.
Si vous êtes programmeur, vous devez déjà être familier avec les opérateurs de comparaison, mais pour ceux qui ne le sont pas, laissez-moi vous expliquer dans la section ci-dessous.
Que sont les opérateurs de comparaison dans Awk ?
Avant de plonger dans l’utilisation des opérateurs de comparaison avec Awk, comprenons d’abord ce que sont les opérateurs de comparaison.
Les opérateurs de comparaison sont des symboles ou des mots-clés utilisés pour comparer des valeurs dans les langages de programmation.
Dans Awk, les opérateurs de comparaison sont souvent utilisés pour comparer la valeur de nombres ou de chaînes et ils incluent les éléments suivants :
>– supérieur à<– moins de>=– supérieur ou égal à<=– inférieur ou égal à==– égal à!=– différent desome_value ~/pattern/– true si some_value correspond au motifsome_value !~/pattern/– true si some_value ne correspond pas au motif
Maintenant que nous avons examiné les différents opérateurs de comparaison dans Awk, comprenons-les mieux à l’aide d’un exemple.
Filtrage des données avec Awk
Dans cet exemple, nous avons un fichier nommé food_list.txt qui est une liste de courses pour différents aliments et je voudrais marquer les aliments dont la quantité est inférieure ou égale à 20 en ajoutant (**) à la fin de chaque ligne.
No Item_Name Quantity Price
1 Mangoes 45 $3.45
2 Apples 25 $2.45
3 Pineapples 5 $4.45
4 Tomatoes 25 $3.45
5 Onions 15 $1.45
6 Bananas 30 $3.45
La syntaxe générale d’utilisation des opérateurs de comparaison dans Awk est la suivante :
expression { actions; }
Pour atteindre l’objectif ci-dessus, je vais devoir exécuter la commande ci-dessous :
awk '$3 <= 20 {print $0 " (**)" } $3 > 20 {print $0}' food_list.txt
Voici l’explication de la commande :
- awk – Cette commande appelle l’utilitaire de traitement de texte Awk.
- '$3 <= 20 {print $0 " (**) » } – Cette partie de la commande est une condition suivie d’une action. Il vérifie si la valeur de la troisième colonne (Quantité) de chaque ligne est inférieure ou égale à 20. Si la condition est vraie, il imprime la ligne entière ($0) avec « (**) » ajouté.
- $3 > 20 {print $0} – Cette partie de la commande est une autre condition suivie d’une action. Il vérifie si la valeur de la troisième colonne (Quantité) de chaque ligne est supérieure à 20. Si la condition est vraie, il imprime la ligne entière ($0) sans aucune modification.
- food_list.txt – Il s’agit du fichier d’entrée que la commande Awk va traiter. Il contient les données sur lesquelles les conditions et les actions spécifiées dans la commande seront appliquées.
Un autre exemple consiste à marquer des lignes dont la quantité est inférieure ou égale à 20 avec le mot « (TRUE) » à la fin.
awk '$3 <= 20 { printf "%s\t%s\n", $0,"TRUE" ; } $3 > 20 { print $0 ;} ' food_list.txt
Combiner les opérateurs dans awk
Nous pouvons également combiner plusieurs opérateurs de comparaison pour créer des conditions plus complexes. Par exemple, si nous voulons filtrer les aliments dont la quantité est comprise entre 20 et 50, nous pouvons utiliser l’opérateur logique AND (&&) comme indiqué.
awk '$3 >= 20 && $3 <= 50' food_list.txt
La commande ci-dessus imprimera les lignes dont la quantité (troisième colonne) se situe entre 20 et 50.
Résumé
Il s’agit d’un tutoriel d’introduction aux opérateurs de comparaison dans Awk, vous devez donc essayer de nombreuses autres options et en découvrir davantage.
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] |
En cas de problèmes que vous rencontrez ou d’ajouts que vous avez en tête, laissez un commentaire dans la section des commentaires ci-dessous. N’oubliez pas de lire la prochaine partie de la série Awk où je vous présenterai des expressions composées.


