Vérifier une chaine de caractère shell unix
samsel
-
samsel -
samsel -
Bonjour,
Comment savoir si une chaine de caractère contient des caractères comme ?!,\/"^$ sauf le point?
chaine.fee => chaine correcte
chaine,dd => chaine incorrecte
chaine!dd => chaine incorrecte
..
Merci
Comment savoir si une chaine de caractère contient des caractères comme ?!,\/"^$ sauf le point?
chaine.fee => chaine correcte
chaine,dd => chaine incorrecte
chaine!dd => chaine incorrecte
..
Merci
Configuration: Windows XP Internet Explorer 7.0
4 réponses
-
Salut,
echo "$chaine" | grep '[?!/\"^$]' >/dev/null && echo 'incorrect' || echo "correct"
;-))
-
- Ben pas chez moi (mais à condition d'entourer l'expression par des quotes simples et non par des quotes doubles (guillemets) sinon ça foire) :
$ echo 'tat\ati.ti' | grep '[?!/\"^$]' >/dev/null && echo 'incorrect' || echo "correct" incorrect $ echo 'tatati.ti' | grep '[?!/\"^$]' >/dev/null && echo 'incorrect' || echo "correct" correct $ $ echo 'tatati.ti' | grep "[?!/\"^$]" >/dev/null && echo 'incorrect' || echo "correct" -bash: !/\"^$]": event not found
;-))
-
-
Salut,
pourquoi pas une classe de caractères complementée?
lami20j@debserv:~$ echo 'tatatiti' | grep -E '[^a-zA-Z0-9_]' && echo incorrect || echo correct correct lami20j@debserv:~$ echo 'tata?titi' | grep -E '[^a-zA-Z0-9_]' && echo incorrect || echo correct tata?titi incorrect lami20j@debserv:~$
-
Bonjour,
c'est possible avec la commande grep et les expressions régulières.
En faisant un pipe sur le nombre de ligne, tu as 1 si c'est faux et 0 si c'est correct.Darkito >echo 'tata.titi' | grep '[?'!'/\"^$]' | wc -l 0 Darkito >echo 'tata?titi' | grep '[?'!'/\"^$]' | wc -l 1 Darkito >echo 'tata'!'titi' | grep '[?'!'/\"^$]' | wc -l 1 Darkito >echo 'tata/titi' | grep '[?'!'/\"^$]' | wc -l 1 Darkito >echo 'tata\titi' | grep '[?'!'/\"^$]' | wc -l 1 Darkito >echo 'tata"titi' | grep '[?'!'/\"^$]' | wc -l 1 Darkito >echo 'tata^titi' | grep '[?'!'/\"^$]' | wc -l 1 Darkito >echo 'tata\$titi' | grep '[?'!'/\"^$]' | wc -l 1 On est obligé de mette '!' dans l'expression régulière car ! est un caractère réservé. de même, dans l'appel de la variable pour le test, il faut mettre \$
-