|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : décembre 2008 Messages : 14 ![]() |
Voici la seconde partie de mon épuration des logs. Je rappel la situation: J'ai donc des logs serveur que je dois "épurer" afin de faciliter leur lecture. Mon avancé : J'ai donc mon fichier de log qui commence à prendre forme, une petite ligne en exemple : Maintenant, afin de savoir qui à fais quoi à quel heure, je veux faire correspondre cette URL qui est en fait réduit à un UseCase unique correspondant à une action précise. donc clairement mes lignes sont de la forme suivantes : J'ai à disposition une table de donnée au format txt, associant les UseCase à une action, exemple : J'ai donc mes deux fichiers: mon fich.txt (log) et mon tab.txt. Mon but est donc pour chaque ligne de mon fichier log, remplacer le UseCase par l'action correspondante, soit en entrée la ligne : Obtenir : Code :
IP;Logname;yyyy/mm/dd;Faire cuire la compote J'ai essayer avec des commandes du type diff et autre, mais je pense qu'elle ne sont pas assez puissante. C'est pour cela que je pense que la commande sed peut encore effectuer ce dont j'ai besoin. Je suis donc en pleine recherche.... Si quelqu'un aurais une piste. La commande sed est elle aproprié pour ce genre de chose? Merci et bonne journée
|
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Inscription : décembre 2008 Messages : 14 ![]() |
En fait j'aimerais simplement
utiliser sed pour parcourir chaque ligne une par une et agir de la facon suivante subsitution du dernier argument de mon fichier de log par la chaine((recherche dans mon fichier tab de la chaine correspondant à la chaine (Dernier arg de mon fichier log))) le truc qu'il me manque serais de savoir comment par une recherche avec sed, rediriger le resultat de ma recherche vers une variable. Et ensuite imbriquer deux sed l'un l'autre |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Frédéric Brugmans Informaticien multitâche Inscription : février 2005 Messages : 661 ![]() |
C'est tout à fait le genre de chose ou awk est tout à fait adapté
|
|
|
00
|
|
|
#4 | ||||
|
Membre Expert
![]() |
Je n'ai pas de réponse en awk, mais avec perl, un truc comme ça devrait marcher :
Code :
Code :
|
||||
|
|
00
|
|
|
#5 | ||||||||
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Salut,
Ce que je te propose c'est de transformer ton fichier contenant les correspondances (fich.txt dans mon exemple) en fichier de commandes pour sed... Bien sûr je me base sur tes indications en espérant avoir tout bien compris... On a donc un ficher de correspondance ressemblant à ça : Code :
Code :
Code :
Code :
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
||||||||
|
|
10
|
|
|
#6 |
|
Membre Expert
![]() |
![]() Joli et excellente idée : c'est simple, efficace... rien à ajouter sauf peut-être de se méfier si par hasard il y avait des caractères spéciaux dans le fichier de correspondance |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com