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)

couv_EI7PRO.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Correspondance d'une variable par rapport à un modèle
Suivant
Retirer le début ou la fin d'une chaîne