Petit problème de programation

Page principale

Répondre à ce message
Auteur: Jean-Michel Bonnefond
Date:  
À: guilde
Sujet: Petit problème de programation
Bonjour a tous,

Je souhaiterai écrire une petit programe probablement en bash, perl, awk ou
autre peu importe, qui me permette d'afficher un fichier de log de facon
selective.

Il s'agit de logs radius qui se présentent par blocs, exemple :

Packet-Type = Access-Request
Thu Jun 24 23:58:07 2008
        User-Name = "jp1234@???"
        User-Password = "******"
        NAS-IP-Address = 192.168.20.1
        Framed-IP-Address = 192.168.30.2
        NAS-Identifier = "Virtual-NASMONITOR"
        Proxy-State = 0x3932
        Client-IP-Address = 199.33.33.199


Packet-Type = Access-Accept
Thu Jun 24 23:58:07 2008
        NAS-IP-Address = 192.168.20.1
        Client-IP-Address = 199.33.33.199
        Realm = "dummy.fr"


Je voudrais afficher en temps réel dans un terminal (l'equivalent d'un "tail
-f "), ou stocker dans un fichier tous les blocs qui contiennent un pattern
particulier, par exemple une adresse ip précise.

Mon probleme c'est d'afficher le bloc complet, les blocs étant séparé par
une ligne vide et la valeur recherhé pouvant se situer a n'importe quel
endroit du bloc, qui n'a de plus pas une longueur fixe.

Ce qui me manque principalement c'est une programme qui soit en écoute à la
fin du fichier de log, qui stocke ce qu'il recoit jusqu'a recevoir une
marque de fin de bloc, puis envoie ce bloc complet en traitement à un autre
programme par exemple.

Une idée?
Merci,

Jean-Michel.