Transformation de date sous linux

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. Modérateur
    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
    1. Modérateur
      mouarf tinkiete...mon script ferait fuir un codeur de chez microsoft, c pour te dire :-DDD

      .O 
      (_)__
      ... Castor
      1. Contributeur
        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.
         :,§_ ç _
        (@)=(@)
        1. Modérateur
          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
          1. Modérateur
            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.
            1. Modérateur
              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.
              1. Contributeur
                Sorry pour les fautes, lis coup et cueilles, c'est parti trop vite, pardon!
                1. Contributeur
                  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");
                  };
                  $_;
                  }

                   :,§_ ç _
                  (@)=(@)
                  1. Modérateur
                    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
                    1. 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