Utilisation expressions régulières

Résolu/Fermé
nellou - Modifié le 19 oct. 2020 à 12:03
mamiemando Messages postés 33410 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 2 décembre 2024 - 21 oct. 2020 à 01:32
Je n'arrive pas à faire fonctionner ce code, quelque chose m’échappe ..... Si quelqu'un a une idée, ce serait formidable!

#!/bin/bash
#15 octobre 2020

tel="033612345678"
echo $tel

if [[ "$tel" ==  033* ]]
then
    echo "téléphone Français"
else
 echo "indicatif inconnu"
fi

if [[ "$tel" == 033[1-9][0-9]* ]]
#if [[ "$tel" == ^033[1-9]{1}[0-9]{8}$ ]]
then
     echo "tel valide"
else
 echo "tel invalide"
fi

2 réponses

mamiemando Messages postés 33410 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 2 décembre 2024 7 808
19 oct. 2020 à 12:08
Bonjour,

Je suis d'accord avec les remarques de zipe31, essaye de faire attention à l'avenir.

Tu ne peux pas faire un test d'égalité entre une chaîne et une expression régulière, ce sont deux types différents, donc pas comparables. Il faut passer ton expression régulière à grep et regarder ce que retourne
grep
. Voir exemple.

if echo "033612345678" | grep -q "033[1-9][0-9]*"; then
  echo ":)"
fi


Bonne chance
1
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
19 oct. 2020 à 15:03
Salut mamie,
Tu ne peux pas faire un test d'égalité entre une chaîne et une expression régulière
Si si ;-))

D'ailleurs l'emploi des doubles crochets pour un test est la bonne solution :



Une doc en anglais sur le sujet.
0
nellou > zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021
19 oct. 2020 à 15:39
Merci beaucoup, je vais regarder ça de près.
0
mamiemando Messages postés 33410 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 2 décembre 2024 7 808 > zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021
21 oct. 2020 à 01:32
Décidément le shell, c'est encore plus sale que ce que je croyais :-)
0
merci beaucoup mamie : ça fonctionne avec egrep, je vais encore creuser ...... Mille fois merci!
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
19 oct. 2020 à 08:40
Bonjour¹ !

Petit rappel…

À afficher du code, autant le mettre en valeur entre balises adéquates (<code>…</code>) et tant qu'à faire expliquer un tant soit peu ce qu'on cherche à faire avec ce code, tout le monde n'est pas à même de décoder un script quel qu'il soit.



¹ Ce n'est pas en option !
0