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)