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 -qEv '[0-9]' && 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)