Format date

Résolu
Bonjour,
je cherche a verifier l format d'une date saisis par l'utilisateur de mon script ke je developp en ksh
j'ai essayé
echo $dateT | grep -q "[0-3][0-9]/[0-1][0-9]/[0-9]\{4\} [0-2][0-9]:[0-5][0-9]:[0-5][0-9]" >/dev/null 2>&1
mais le code retour est toujour 2 (different de 0) même si la date remplie les conditions du grep
une idée??
merci
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. Modérateur
    Salut,

    Extrait du man grep :
    DIAGNOSTICS
           Normalement, le code de retour  est  0  si  des  concordances  ont  été
           trouvées,  et 1 si aucune concordances n'a été faite.  Mais le code est
           2 si une erreur est survenue, à moins que les options  -q,  --quiet  ou
           --silent ne soient utilisées et qu'une ligne ne soit trouvée.
    Affiche le contenu de ta variable $dateT...

    PS. Supprime le ">/dev/null 2>&1" avec le paramètre "-q" c'est suffisant.
    1. slt jipicy,
      j'ai essayé sans le /dev/null 2>&1

      bash-3.00$ echo "11/12/2002 10:12:50" | grep -q "[0-3][0-9]/[0-1][0-9]/[0-9]\{4\} [0-2][0-9]:[0-5][0-9]:[0-5][0-9]"
      grep: illegal option -- q
      Usage: grep -hblcnsviw pattern file . . .
      bash-3.00$ echo $?
      2

      par contre ça marche sans l'option -q:

      bash-3.00$ echo "11/12/2002 10:12:50" | grep "[0-3][0-9]/[0-1][0-9]/[0-9]\{4\} [0-2][0-9]:[0-5][0-9]:[0-5][0-9]" > /dev/null 2>&1
      bash-3.00$ echo $?
      0

      probleme résolue
      1. Modérateur
        Usage: grep -hblcnsviw pattern file . . .
        Ben disons que le problème venait justement du fait que tu avais mis cette option (-q) qui générait le message d'erreur dans la mesure où ton grep ne la reconnait pas ;-((