Vérifier que les données tapées sont adéquates? [Shell/Ksh] - Shell/Batch - Programmation
Marsh Posté le 05-06-2003 à 18:48:49
Personne n'a une petite idée? J'ai rien trouvé de probant sur internet et j'ai pas accès à des bouquins ici...
Marsh Posté le 10-06-2003 à 09:12:49
J'ai un truc!!
VAR=`echo VAR | awk --posix '/[a-zA-Z]{4}/ {print}'`
te met la valeur de VAR à vide, si VAR ne contenait pas 4 lettres (majuscules ou minuscules)
c'est sans doute pas parfait, mais bon, ça marche.
Marsh Posté le 10-06-2003 à 12:48:30
A-Da-d 4 fois avec des
Code :
|
intercalés plutôt?
et rajouter une condition presuqe identique (le cas "5 fois" ) pour valider l'entrée
Marsh Posté le 10-06-2003 à 13:33:35
Ah ouais, y'a pas le cas "5 lettres".....Là, ca va reconnaitre tout ce qui contient 4 lettres qui se suivent....
awk '/^[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]$/ {print}'
sinon....
ou
awk --posix '/^[a-zA-Z]{4}$/ {print}'
ça marche aussi.
Marsh Posté le 10-06-2003 à 14:42:18
J'avais zappé le $ ... shame on me!
caedes a écrit : Par exemple, il peut taper : |
Mais il faut toujours les espaces intercalés d'après son exemple ou mieux [ : whitespace : ]
Marsh Posté le 10-06-2003 à 15:02:29
Ah, j'avais pas vu le truc des espaces entre les lettres!!
Enfin, avec un mix de mon machin et des tiens, il devrait s'en sortir, quand même!!
Marsh Posté le 10-06-2003 à 15:03:21
Je vous remercie tous pour votre aide !
Je vais soumettre ceci à la personne que j'aidais...
Merci encore !
Marsh Posté le 10-06-2003 à 15:15:45
euh rien à voir avec le topic, mais...
Caedes, c LA Caedes d'AC1 ?
sinon tant pis
Marsh Posté le 10-06-2003 à 15:20:55
pilou51 a écrit : euh rien à voir avec le topic, mais... |
AC1?
Euh non je suis un garçon, voir dico latin pour la signification du pseudo...
Dire qu'il y a 5 ans sur internet il n'y avait qu'un Caedes francophone (même ds ICQ)...
donc à mon avis tu te trompes de personne...
Marsh Posté le 05-06-2003 à 12:37:03
Bonjour !
voilà, j'ai un petit problème en programmation Shell.
Je dois demander à l'utilisateur de taper 4 lettres sur la même ligne et je dois lui refuser toute autre chose et toute autre lettre.
Par exemple, il peut taper :
a b c d
A B D c
B D a C
a a a a
A A D C
mais pas :
Abcd
a b c d e
e e e e
a e c d
ab cd
etc.
Et je ne vois vraiment pas comment faire...
Le reste de mon boulot fonctionne correctemnent (toutes les boucles, etc.) mais les entrées sorties en shell, j'y arrive pas.
j'ai essayé avec des = [^ ... ] mais sans succès.
Une aide?
merci !
Message édité par Caedes le 05-06-2003 à 12:38:02