Qu'est-ce que = ~ Regex dans Bash
L'opérateur bash = ~ nous permet de faire correspondre une expression régulière contre une chaîne et qu'elle renvoie vrai si l'expression correspond à la chaîne entière, dans l'autre cas, il renvoie faux.
Utilisation de bash = ~ regex pour correspondre à plusieurs chaînes
Dans les scripts bash, l'opérateur «=» est utilisé pour faire correspondre une expression régulière contre une chaîne. Avec Regex, vous pouvez faire correspondre une seule chaîne ou un motif de chaînes. Cependant, il existe des situations où vous devez faire correspondre plusieurs chaînes en une seule opération, alors voici la syntaxe pour faire correspondre plusieurs chaînes:
[[$= ~ $ ]]
Pour illustrer davantage, j'ai donné un exemple de script bash qui contient deux chaînes et cinq matchs que je veux faire, ci-dessous est le script respectif:
#!/ bac / bash
myString = "Bonjour et bienvenue à Linuxhint.com "
MyString = "Salutations et bienvenue à Linux Mint"
motifs = ("bonjour" "bienvenue" "Linuxhint" "Mint" "Apple")
correspondant1 = 0
correspondant2 = 0
Pour le modèle dans "$ motifs [@]"
faire
si [[$ myString = ~ $ patron]]; alors
Echo "La chaîne1 correspond au motif: $ motif"
correspondant1 = 1
Fi
si [[$ myString = ~ $ patron]]; alors
Echo "La chaîne2 correspond au modèle: $ motif"
correspondant2 = 1
Fi
fait
Ce code définit deux cordes MyString et MyString, et un modèle de tableau contenant les modèles à correspondre. Il boucle ensuite à travers les modèles et vérifie si chacun se trouve dans MyString et MyString en utilisant les instructions IF avec l'opérateur = ~. Si une correspondance est trouvée dans une chaîne, le code affiche un message concernant la correspondance du modèle alors que si aucune correspondance ne se trouve dans une chaîne, le code imprimera un message qui indiquera que la chaîne ne correspond à aucun des modèles donnés.
L'instruction apparentée = 1 à l'intérieur de la boucle FOR est utilisée pour indiquer que le modèle actuel en cours de vérification a été trouvé dans la chaîne d'entrée.Si la variable adaptée reste 0 après avoir vérifié tous les modèles, cela signifie qu'aucun des modèles n'a été trouvé dans la chaîne d'entrée et voici la sortie du code:
Conclusion
Les scripts bash sont livrés avec une variété d'options pour automatiser les tâches. L'opérateur Bash = ~ avec des expressions régulières est utilisé pour faire correspondre plusieurs chaînes et ce guide illustre comment utiliser cet opérateur à l'aide d'un exemple qui correspond à un ensemble d'échantillons avec deux chaînes.