Expressions rationnelles.
From Tuxunix
Exemple
$ ./regex.sh Enter IP Address V4 : 192.168.1.2 Address 192.168.1.2 valide $ ./regex.sh Enter IP Address V4 : 192/168.1.2 Address 192/168.1.2 non valide ! $ ./regex.sh Enter IP Address V4 : 192.1688.1.2 Address 192.1688.1.2 non valide !
1.#! /bin/sh 2.function verifIp(){ 3. 4.local ip="" 5.local result="" 6. 7.echo -n "Enter IP Address V4 : " 8.read ip 9. 10.echo "$ip" | grep -x "\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}" > /dev/null 2>&1 11.result=$? 12. 13.if [ $result -eq 0 ]; then 14. echo "Address $ip valide" 15.else 16. echo "Address $ip non valide !" 17.fi 18.} 19. 20.# 21.#Main 22.# 23.verifIp
Vérification saisie date :
Exemple
$ ./regex2.sh Enter date (ex: format ??-??-???? ou ??.??.???? ou ??/??/????) : 10/10/1981 Format date 10/10/1981 valide $ ./regex2.sh Enter date (ex: format ??-??-???? ou ??.??.???? ou ??/??/????) : 12.02.1970 Format date 12.02.1970 valide $ ./regex2.sh Enter date (ex: format ??-??-???? ou ??.??.???? ou ??/??/????) : 17-05-1990 Format date 17-05-1990 valide $ ./regex2.sh Enter date (ex: format ??-??-???? ou ??.??.???? ou ??/??/????) : 10/12-2000 Format date 10/12-2000 non valide ! $ ./regex2.sh Enter date (ex: format ??-??-???? ou ??.??.???? ou ??/??/????) : 02/08/19822 Format date 02/08/19822 non valide !
1.#! /bin/sh 2. 3.function verifdat(){ 4. 5.local dat="" 6.local result="" 7. 8.echo -n "Enter date (ex: format ??-??-???? ou ??.??.???? ou ??/??/????) : " 9.read dat 10. 11.echo "$dat" | grep -x "\([0-9]\{1,2\}\(\/\|\-\|\.\)\)\{2\}[0-9]\{4\}" > /dev/null 2>&1 12.result=$? 13. 14.if [ $result -eq 0 ]; then 15. echo "Format date $dat valide" 16.else 17. echo "Format date $dat non valide !" 18.fi 19.} 20. 21.# 22.#Main 23.# 24.verifdat

