Pour les utilisateurs qui utilisent la commande awk, lors du traitement de nombres ou de chaînes dans une ligne de texte, il est très pratique d'utiliser des opérateurs de comparaison pour filtrer le texte et les chaînes. Dans la section suivante, nous présentons les opérateurs de comparaison de « awk ».
Quels sont les opérateurs de comparaison dans awk ?
Les opérateurs de comparaison dans awk sont utilisés pour comparer des chaînes et des valeurs numériques, y compris les types suivants :
Fonction du symbole
<
>= Supérieur ou égal à
<= inférieur ou égal à
== Égal à
!= n'est pas égal à
some_value ~ / pattern/ Renvoie vrai si some_value correspond au motif pattern
some_value !~ / pattern/ Renvoie vrai si some_value ne correspond pas au modèle de modèle. Familiarisons-nous maintenant avec les différents opérateurs de comparaison dans awk à travers des exemples.
Exemple 1, nous avons un fichier nommé food_list.txt, qui contient des listes d'achat de différents aliments. Je souhaite ajouter (**)
après la rangée d'articles dont la quantité de nourriture est inférieure ou égale à 30Fichier – food_list.txt
Aucun Item_Name Quantité Prix
1 Mangues 45 3,45$
2 Pommes 25 2,45$
3 Ananas 5 4,45$
4 Tomates 25 3,45$
5 Oignons 15 1,45$
6 Bananes 30 3,45$
La syntaxe générale d'utilisation des opérateurs de comparaison dans Awk est la suivante :
#expression {action;}
Pour atteindre l'objectif tout à l'heure, exécutez la commande suivante :
# awk '$3 <= 30 { printf "%s/t%s/n", $0,"**" ; } $3 > 30 { print $0 ;}' food_list.txt
Aucun Item_Name` Quantité Prix
1 Mangues 45 3,45$
2 Pommes 25 2,45$**
3 Ananas 5 4,45$**
4 Tomates 25 3,45$**
5 Oignons 15 1,45$**
6 Bananes 30 3,45$**
Dans l'exemple précédent, les deux choses importantes suivantes se sont produites :
Dans la première combinaison "expression{action;}", $3 <= 30 { printf "%s/t%s/n", $0,"**" } imprime le nombre inférieur ou égal à 30 lignes et ajoutez (**) à la fin. La quantité de l'article est obtenue via la variable de champ $3. Dans la deuxième combinaison "expression {action;}", $3 > 30 { print $0 ;} affichera les lignes dont le nombre est inférieur ou égal à 30 telles quelles. Autre exemple :
# awk '$3 <= 20 { printf "%s/t%s/n", $0,"TRUE" ; } $3 > 20 { print $0 ;} ' food_list.txt
Aucun Item_Name Quantité Prix
1 Mangues 45 3,45$
2 Pommes 25 2,45$
3 Ananas 5 4,45$ VRAI
4 Tomates 25 3,45$
5 Oignons 15 1,45$ VRAI
6 Bananes 30 3,45$
Dans cet exemple, nous souhaitons marquer les lignes avec un nombre inférieur ou égal à 20 en ajoutant (VRAI) à la fin de la ligne.
RésuméCeci est un guide d'introduction aux opérateurs de comparaison dans awk, vous devrez donc essayer d'autres options et découvrir d'autres façons de les utiliser.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!