Transformation de date sous linux

Castor Messages postés 17881 Date d'inscription   Statut Modérateur Dernière intervention   -  
Castor Messages postés 17881 Date d'inscription   Statut Modérateur Dernière intervention   -
Salutatous....

mon probleme est le suivant... g des logs a nalyser, et les dates me sortent sous le format GNU, cad en decompte de secondes depuis le 01/01/1970 à 00h00

est ce que quelqu'un aurait un soft ou une ligne de commande permettant de transformer par exemple 1033570316 en 02/10/2002 16:51:56 ?????

merchi d'avance ;)

.O 
(_)__
... Castor

11 réponses

  1. System admin
     
    Ptain t es dans la merde....
    Bon regarde quand meme si le gars qui fait les logs ne peut pas changer ce format.
    sinon avec la comande date +%s et la crontab tu peux peut etre faire un script qui ne soit pas trop penalisant ?
    m enfin bon..
    good luck
    0
  2. Castor Messages postés 17881 Date d'inscription   Statut Modérateur Dernière intervention   170
     
    bah les logs c des logs "natifs" de squid
    et meme si maintenant on les modifie pour ca, il reste qd meme mes 300 000 lignes de logs deja existantes a modifier :D

    vi c pas bete le perl... tu penses qu'ily a une commande qui transforme tout ca?? ou fo se taper ca a la barbare :D
    en tout cas merci sysdamin :p

    .O 
    (_)__
    ... Castor
    0
  3. M&M Messages postés 5058 Statut Contributeur 669
     
    un petit cout de system call gettimeofday et c'est fait.
    En perl tu utilises les services time et localtime
    En vrac, je te file du code que j'ai pondu pour ajouter ou soustraire un nombre J de jours à la date courante, sous windows 98 avec des petits offsets pour corriger les différences avec unix. Si toi tu cueille un chiffre, tu pars de là au lieu de time qui donne le chiffre du temps présent...

    if ($J =~ /^[-]*[0-9]+$/) {
    ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
    localtime(time + 3600*24*$J);
    $mon++;
    $When=&Str_date();
    };

    sub Str_date {
    #----------------
    local($Year);
    if ($year<100) { $Year=($year>=70)?1900+$year:2000+$year;}
    elsif ($year<1900) {$Year=$year+1900;} # Emm v 2.6
    else {$Year=$year;};
    $_=sprintf ("%s%d/%s%d/%4s",
    ($mday<10)?"0":"",$mday, ($mon<10)?"0":"",$mon,$Year);
    if ($Year<1996 || $Year >2070 || $mon>12 || $mday >31) {
    die ("Le $_ ! Petit farceur, va !\n");
    };
    $_;
    }

     :,§_ ç _
    (@)=(@)
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. M&amp;M Messages postés 5058 Statut Contributeur 669
     
    Sorry pour les fautes, lis coup et cueilles, c'est parti trop vite, pardon!
    0
  6. jisisv Messages postés 3678 Statut Modérateur 936
     
    En Python... tu cr?es la proc?dure idoine....

    #! /usr/bin/python
    import time
    t = 1033570316
    try:
    d = time.gmtime(t)
    print "%02d/%02d/%d %02d:%02d:%02d" % (d[2], d[1], d[0], d[3], d[4], d[5])
    except(e):
    pass

    The software said "Requires Windows98, Win2000, or better
    So I installed Unix.
    0
  7. jisisv Messages postés 3678 Statut Modérateur 936
     
    Il faut ?videmment placer les tabulations correctes...
    En Python... tu cr?es la proc?dure idoine....

    #! /usr/bin/python
    import time
    t = 1033570316
    try:
    ___d = time.gmtime(t)
    ___print "%02d/%02d/%d %02d:%02d:%02d" % (d[2], d[1], d[0], d[3], d[4], d[5])
    except(e):
    ___pass

    The software said "Requires Windows98, Win2000, or better
    So I installed Unix.
    0
  8. Castor Messages postés 17881 Date d'inscription   Statut Modérateur Dernière intervention   170
     
    ok merci les gars.. je tenterai ca demain....
    (sous perl pk g dja tout le script en perl) mais merci aussi jisiv, g archive ca :p

    oui M&M's en effet je "pars" du chiffre..

    .O 
    (_)__
    ... Castor
    0
  9. M&amp;M Messages postés 5058 Statut Contributeur 669
     
    Ha Castor, tu vois que j'ai codé cela à la mise-t-en-flute avec des variables year, mon, mday globales alors que j'aurais du créer un joli array à passr par référence à la fonction, tu peux fignoler... En tout cas, mon truc tourne en opération tous les jours.
     :,§_ ç _
    (@)=(@)
    0
  10. Castor Messages postés 17881 Date d'inscription   Statut Modérateur Dernière intervention   170
     
    mouarf tinkiete...mon script ferait fuir un codeur de chez microsoft, c pour te dire :-DDD

    .O 
    (_)__
    ... Castor
    0
  11. Castor Messages postés 17881 Date d'inscription   Statut Modérateur Dernière intervention   170
     
    oki M&M's g recup ton script et adapte rapidement... encore merci pour ton aide...
    au passage, je redirige ce post vers programmation (commme un ane je me suis plante de forum :p)

    .O 
    (_)__
    ... Castor
    0