IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Expression régulière avec interval de temps


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Maillon
    Inscrit en
    Juin 2007
    Messages
    136
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2007
    Messages : 136
    Par défaut Expression régulière avec interval de temps
    Bonjour à tous,

    Voilà je récupère l'heure d'une machine et j'aimerai la comparer à l'heure d'une autre machine.

    Par contre j'aimerai dire que les heures sont les mêmes si il y a maximum 15 min d'écart entre les deux machines (minutes en plus ou en moins).
    Donc par exemple si il est 18h35 sur la machine A et 18h25 sur la machine B bah que la sortie soit "les deux machines sont à la même heure".

    Par contre il faudrait qu'il gère aussi le changement d'heure et tout ça en bash.

    Quelqu'un aurait-il une idée ? J'espère avoir été clair :-)

    Merci beaucoup.

    Cordialement,

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Par défaut
    c est plutot clair, il suffit de le faire maintenant ...

  3. #3
    Membre éprouvé Avatar de Maillon
    Inscrit en
    Juin 2007
    Messages
    136
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2007
    Messages : 136
    Par défaut
    En fait il faudrait que je convertisse la date actuelle en seconde (je la met dans une variable $a) puis je convertis 15 min en seconde (dans une variable $b) puis je fais :

    si $A est compris entre A+B ou A-B alors OK sinon KO.

    Voilà seulement ya un hic c'est que l'option %s (qui permet de convertir une date en seconde) ne marche pas sous sunOs apparement.

    Auriez-vous des idées ?

    Cordialement,

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Par défaut
    heure1=`date +%H`
    minute1=`date +%M`
    seconde1=`date +%S`
    h1=`expr $heure1 \* 3600`
    m1=`expr $minute1 \* 60`
    hm1=`expr $h1 + $m1`
    date1=`expr $hm1 + $seconde1`


    c est moche, ça doit surement pouvoir se faire en plus joli mais la flemme

  5. #5
    Membre éprouvé Avatar de Maillon
    Inscrit en
    Juin 2007
    Messages
    136
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2007
    Messages : 136
    Par défaut
    Bah c'est moche mais c'est parfait :-)

    Seulement une fois que j'ai mon date1 et mon date2 comment je fais pour faire :
    Si mon date2 est compris entre (date1 + 15 min) et (date1 -15 min) alors c'est ok.

    Est ce que si je fais ça c'est bon :
    # heure de la machine maître
    heure1=`date +%H`
    minute1=`date +%M`
    seconde1=`date +%S`
    h1=`expr $heure1 \* 3600`
    m1=`expr $minute1 \* 60`
    hm1=`expr $h1 + $m1`
    date1=`expr $hm1 + $seconde1`

    # heure de la machine distante
    heure2=`date +%H`
    minute2=`date +%M`
    seconde2=`date +%S`
    h2=`expr $heure2 \* 3600`
    m2=`expr $minute2 \* 60`
    hm2=`expr $h2 + $m2`
    date2=`expr $hm2 + $seconde2`

    # 15 min c'est 900 secondes donc :
    interval=900
    bipplus=`expr $date1 + $interval`
    bipmoins=`expr $date1 - $interval`

    if ( [ $date2 -le $bipplus ] && [ $date2 -ge $bipmoins ] )
    then
    echo "ok";
    else
    echo "ko";
    fi

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Par défaut
    oui c est a peu près ça :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    #!/bin/sh
     
    heure1=16
    minute1=30
    seconde1=15
    h1=`expr $heure1 \* 3600`
    m1=`expr $minute1 \* 60`
    hm1=`expr $h1 + $m1`
    date1=`expr $hm1 + $seconde1`
    echo $date1
     
    # heure de la machine distante
    heure2=`date +%H`
    minute2=`date +%M`
    seconde2=`date +%S`
    h2=`expr $heure2 \* 3600`
    m2=`expr $minute2 \* 60`
    hm2=`expr $h2 + $m2`
    date2=`expr $hm2 + $seconde2`
    echo $date2
     
    # 15 min c'est 900 secondes donc :
    intervale=900
    bipplus=`expr $date1 + $intervale`
    bipmoins=`expr $date1 - $intervale`
     
    if ( [ $date2 -lt $bipplus ] )
    then 
    		if ( [ $date2 -gt $bipmoins ] )
    		then 
    				echo "ok";
    		else echo "ko";
    		fi
    else echo "ko";
    fi
    j ai mis une valeur fixe de date1 pour pourvoir tester

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Expression Régulière avec Quote
    Par jon301 dans le forum Langage
    Réponses: 3
    Dernier message: 25/10/2006, 22h08
  2. [RegEx] Expression régulière avec preg_match_all
    Par tit_oune dans le forum Langage
    Réponses: 6
    Dernier message: 18/05/2006, 23h28
  3. Expressions régulières avec variable
    Par killprog dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/04/2006, 17h03
  4. Expression réguliére avec CHECK
    Par BRAUKRIS dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 08/09/2005, 17h38
  5. Expression régulière avec "|"
    Par YanK dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/07/2005, 15h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo