linux-l: squid Ausgabe lesbarer gestalten aber wie?
Michael.Feldbinder at bo.dlr.de
Michael.Feldbinder at bo.dlr.de
Di Mai 12 13:43:59 CEST 1998
Hallo LX - Gemeinde!
Meine Frage ist, wie kann ich die squid Ausgabe lesbarer gestalten. Am Ende
soll User-Name "Leerzeichen" URL ausgegeben werden.
Also etwa von
129.247.124.128 - - [12/May/1998:15:34:02 +0200] "GET
http://www.dino-online.de/pic/9a_468x60.gif" TCP_MISS 176
nach
Feldbinder, Michael http://www.dino-online.de/pic/9a_468x60.gif
In meinem Laden, hat jeder User eine feste IP-Adresse und es existiert eine
Datei die in einer Zeile den Hostteil der IP-Adresse sowie den
dazugehörigen Namen enthält. Beispiel:
0128cc Feldbinder, Michael
(das "cc" habe ich eingefügt, damit man besser "grepen" kann)
Die Befehlskette
tail -f /var/squid/logs/access.log | awk '{print
substr($1,13)"cc",$7}'
liefert immerhin
128cc http://advert.hansenet.de/werbung10.html"
Was mir jetzt noch fehlt, ist die Substitution von "0128cc" nach "Name" und
das ganze dann Ausgegeben. Also so:
Feldbinder, Michael http://advert.hansenet.de/werbung10.html"
Mit dem grep in der Namendatei rumgerühert liefert selbstredend den selben.
Aber wie kann ich das verketten? Besser ist noch, wenn ich gleich ein
awk-Script basteln könnte in dem das Heraussuchen gleich mit erledigt und
dann der ganze Quark angezeigt wird. Etwa so:
Aufruf:
tail -f /var/squid/logs/access.log | awk -f script.awk
script.awk:
{
# Host Teil aus der IP# extrahieren
suchstr = substr($1,13) + "cc"
#Name suchen & ggf. Konvertieren
namestr = suche_eintrag_aus_name_file( suchstr )
# Ausgeben
print length( namestr) == 0 ? $1 : namestr, $7
}
Sollte ich etwa eine BEGIN {} - Anweisung einfügen, der die gesamte Datei
einließt. Nöö, daß geht doch auch auf die Systemlast...
Habt Ihr eine tolle Idee???
Gruß Micha
---
Michael K.H. Feldbinder
mail...: mailto://Michael.Feldbinder@dlr.de
AX25...: DL2KDO @ DB0LJ * DOK: G03
600 Ohm: +49 228 447456
78-79 Simson S50 "Banane" 24 TKM, 79 MZ250 10TKM,
91-95 VT500C 22TKM, 96-xx XJ900S 19TKM
Mehr Informationen über die Mailingliste linux-l