Modification d'heure DANS un fichier log - pas si facile qu'on le pense

Salut .

bon je vous explique .
J’ai un fichier log de plusieurs milliers de ligne .
Comme tout bon fichier de log il commence les lignes par l’heure :

[01:19] …
[01:19] …
[01:20] …

Et cela pendant des milliers de ligne

mais voila , l’heure du serveur a changé trés souvent durant une certaine periode ( me demandez par pourquoi … )

Donc j’aimerais modifiez les heures dans mon fichier log .

Vous vous dite , ben tu fait rechercher et remplacer par .

Genre je cherche [01:19] et je remplace par [02:19] .

Ben non , car sinon quand je vais modifier les lignes etant ecrite a [02 … je vais aussi changer les lignes precedement modifié …

Bref tout ça pour vous demander si vous connaitriez pas un logiciel qui fait ce genre de traitement , une astuce ou quoi que ce soit …

Sacré probleme … moi j’ai pas trouvé … je compte sur vous :wink:

– Il se fait tard j’espere avoir été claire —

Ce message n’était pas conforme aux règles d’utilisation du nouveau forum :

+1 …

SVP

y a AWK qui permet de faire des manipulations dans des fichiers de types log, asc … mais ça marche un peu comme de la prog. genre avec des conditions et tout et tou mais aussi non c est super efficace. à mon taf on l utilise pour modifier des export des base de donnée en format ascci (genre 2 miliions de ligne) pour justement faire des modif de date (des élément de la base) et plein d autre truc (modifier les chiffre avec trop dimales)

et c est un logiciel libre, ou je sais plus trop quoi mais issue du monde unix et qui tourne sur PC

en espereant avoir repondu à ta question

a+

edit un lien http://www.chez.com/brunogarcia/Unix/Docs/awk.html

ou encore http://www.info.univ-angers.fr/aides/tutawk.html mais avec un moteur de recherche t aura plein d info

Sinon, normalement en programmation, quand tu veux swapper les valeurs de deux variables x et y, tu passes par une temporaire z.

z := x
x := y
y := z

Donc tu remplaces 00:xx par nimportquoi:xx puis 23:xx -> 00:xx, 22:xx -> 23:xx,…, 01:xx -> 02:xx, nimportquoi:xx -> 01:xx.

Ca te ferait 24 boucles, manuellement ou algorithmiquement :smiley:

merci les gars …
effectivement j’avais pas pensé a utiliser une 3 eme variable …

je regarderais aussi pour awk …

en tout cas super le forum de clubic , y a de bonne personne :wink: