Non-correspondance d’une variable par rapport à un modèle

Objectif

Comparer la non-correspondance entre le contenu d’une variable et un modèle.

Exemple

Vérifier que la variable chaine ne contient aucun chiffre.

Première méthode (ksh, bash)

Utilisation de la commande [[ ]] :

$ [[ $chaine != *[0-9]* ]]  && echo '$chaine ne contient aucun chiffre' 

Le modèle *[0-9]* représente une chaîne contenant au moins un chiffre.

(cf. chapitre Les bases de la programmation shell - Exécution de tests)

Deuxième méthode

Utilisation de la commande grep avec option de négation -v et d’une expression régulière :

$ echo $chaine | grep -Ev '[0-9]' > /dev/null && echo 
'$chaine ne contient pas de chiffre' 

(cf. chapitre Les expressions régulières - Exploitation des expressions régulières par les commandes)

Troisième méthode

Utilisation de la commande awk et d’une expression régulière :

$ echo $chaine | awk '$0 !~ /[0-9]/ {print "$chaine ne contient 
pas de chiffre"}' 

(cf. chapitre Le langage de programmation awk - Principe)

Pour consulter la suite, découvrez le livre suivant :
couv_EI6PRO.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Correspondance d'une variable par rapport à un modèle
Suivant
Retirer le début ou la fin d'une chaîne