Sommaire

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)