Rechercher : dans
Par :

Expression reguliere Script shell

Dernière réponse le 8 mar 2004 à 16:02:40 thetontonben, le 8 mar 2004 à 14:39:08 
 Signaler ce message aux modérateurs

Bonjour,
j' ai une variable qui contient une chaine de caractere, et je veux verifier qu'elle est bien alphanumerique. Je veux donc faire une comparaison de la variable avec une expression reguliere.
Comment faire??
merci

thetontonben

Meilleures réponses pour « Expression reguliere Script shell » dans :
Exécuter un script shell VoirExécution d'un script Pour pouvoir exécuter un script ou un programme en ligne de commande il y a plusieurs possibilités : 1. Le chemin absolu 2. Le chemin relatif 3. Modifier la variable PATH Note: Le Sha...
[RegExp] Récupérer une adresse IP VoirFinalité Mise en œuvre Explications Interprétation du motif Récupérer une adresse IP Finalité Pour récupérer une IP dans un fichier texte, fichiers journaux, pages web, etc. Mise en œuvre L'expression régulière suivante combinée à la...
PHP - Expressions régulières VoirQu'est-ce qu'une expression régulière? Les expressions régulières sont des modèles créés à l'aide de caractères ASCII permettant de manipuler des chaînes de caractères, c'est-à-dire permettant de trouver les portions de la chaîne correspondant au...

1

jisisv, le 8 mar 2004 à 15:29:15

Essaye quelque chose du genre:
machaine="azerty" ;echo $machaine |grep '^[[:alnum:]]*$' >/dev/null ; echo $?

La variable de retour $? contient
man grep
<snip>
DIAGNOSTICS
Normally, exit status is 0 if matches were found, and 1 if no matches were found. (The -v option inverts the sense of the exit status.) Exit status is 2 if there were syntax errors in the pattern, inaccessible input files, or other system errors.
</snip>

Johan
The software said "Requires Windows98, Win2000, or better,
So I installed Unix.

Répondre à jisisv

2

 thetontonben, le 8 mar 2004 à 16:02:40

Merci c'est une bonne idée,
entre temps j'avais trouvé :

echo "\tNom de l'utilisateur a creer (\"quit\" pour sortir): \c"
read NM_USR
b=`expr match "$NM_USR" '\([a-zA-Z0-9/-]*\)'`
if [ "$NM_USR" != "$b" ]
then
echo "syntaxe error"
else
echo "syntaxe ok"
fi;

Par contre je n'arrive pas à integrer l'apostrophe comme caractere dans mon expression reguliere

As tu une idée?

Merci

Thetontonben

Répondre à thetontonben