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

Shell et commandes GNU Discussion :

Soustraction de dates formatées


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Par défaut Soustraction de dates formatées
    Bonjour,

    Débutant en scripting, je cherche à effectuer des calculs sur un fichier de logs formaté. Celui-ci contient une date d'envoi et une date de réponse, je voudrai connaitre la différence en millisecondes des 2...
    Les logs sont au format texte, et je ne peux donc pas modifier la facon dont ils présentent les dates :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    2007-07-18 17:02:24,866 2007-07-18 17:02:24,923
    2007-07-18 17:02:25,917 2007-07-18 17:02:25,927
    Dans le permier cas je voudrai donc que mon script me retourne 7 et dans le second 10. Mais je ne connais pas grand chose aux fonctions existantes, quelqu'un pourrait-il me guider ?

    Merci d'avance pour votre aide.

  2. #2
    Membre émérite Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Par défaut
    Ne gère pas le changement de jour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    awk '
    {
    	gsub(/:/,"",$2)
    	gsub(/,/,".",$2)
    	Debut=$2
    	gsub(/:/,"",$4)
    	gsub(/,/,".",$4)
    	Fin=$4
    	printf("* Debut : %.3f, Fin : %.3f -> %.3f\n",Debut,Fin,Fin-Debut)
    } ' liste.txt

    Résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    * Debut : 170224.866, Fin : 170224.923 -> 0.057
    * Debut : 170225.917, Fin : 170225.927 -> 0.010

  3. #3
    Membre habitué
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Par défaut
    Merci beaucoup pour cette réponse, qui marche nickel...
    Je me rends compte qu'il va vraiment falloir que je me penche sur AWK...

    A très bientot,

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

Discussions similaires

  1. [XL-2010] Soustraction de date en vba et format de sortie
    Par pitipilot dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 16/04/2014, 13h54
  2. Soustraction entre dates (format résultat hh:mm:ss)
    Par dianroca dans le forum Oracle
    Réponses: 5
    Dernier message: 08/02/2012, 15h03
  3. Resutlat de calcul sur date formaté
    Par neness dans le forum SQL
    Réponses: 6
    Dernier message: 16/06/2004, 15h34
  4. [Date][SQL date][Format] insertion d'une heure
    Par goulime dans le forum JDBC
    Réponses: 11
    Dernier message: 26/01/2004, 11h38
  5. Date format français
    Par coca dans le forum XMLRAD
    Réponses: 2
    Dernier message: 17/11/2003, 08h46

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