![]() |
| das proVisorium · Impressum + Disclaimer |
up2date
Chat Galerie Wiki Hilfe
Suche
Mitglieder
Kalender
|
| Willkommen, Besucher ( Anmelden | registrieren ) | Funktioniert die Anmeldung nicht? |
![]() ![]() ![]() |
| ClausVB |
geschrieben am: Dienstag, 25.Mai 2004, 09:45 Uhr
|
||||
![]() ![]() ![]() ![]() ![]() ![]() Mitglied |
Hallo zusammen! Ich benutzte folgendes Shell-Skript um eine Übersicht über "Mail-Zombies" oder Spam zu bekommen (oder sie zu löschen): Die "mailq" hat folgende Struktur:
Ich kann PHP programmieren, aber diese FOR-Schleife habe ich mir geklaut. Trotzdem weiß ich ungefähr, was die Schleife macht:
Wie merke ich mir die Mail-ID (D90C557DAB) der vorhergenden Zeile (bzw. der 1. Zeile) und lösche nur dann, wenn die 2. Zeile ein "Connection timed out" enthält? Danke im Voraus für Eure Hilfe! Gruß Claus -------------------- |
||||
| me.tom |
geschrieben am: Donnerstag, 27.Mai 2004, 00:14 Uhr
|
||
![]() ![]() ![]() ![]() Mitglied |
Hallo Claus. Sowas in der Art?
Die regexp kann man bestimmt schoener machen, aber mir viel grad nicht ein wie, und nachschlagen hatte ich keine Lust... Gruss, tom. |
||
| ClausVB |
geschrieben am: Donnerstag, 27.Mai 2004, 11:09 Uhr
|
![]() ![]() ![]() ![]() ![]() ![]() Mitglied |
Tausend Dank, Tom!
Funktioniert prima. Ich werde mal versuchen die RegEx zu optimieren und hier dann die abgeänderte Zeile zu posten. Ich hoffe mal, das die RegEx ähnlich funktionieren wie in PHP. Gruß Claus -------------------- |
| me.tom |
geschrieben am: Donnerstag, 27.Mai 2004, 12:40 Uhr
|
![]() ![]() ![]() ![]() Mitglied |
Hallo Claus,
wenn die mailq laenger ist, sollte man in diesem einfachen Fall statt awk evtl das schnellere cut verwenden: cut -d' ' -f1 Und (gnu) grep kann auch mit -e und -P eine erweiterte- bzw perl-Syntax, wenn man das denn unbedingt will/braucht... Gruss, tom. |
| ClausVB |
geschrieben am: Donnerstag, 27.Mai 2004, 14:36 Uhr
|
||
![]() ![]() ![]() ![]() ![]() ![]() Mitglied |
Ok, ich habe jetzt verschiedenes ausprobiert und nach ein paar Experimenten ist folgendes für mich sehr effektiv:
Den GREP habe ich auf folgendes reduziert: grep -q "^[A-Z0-9]"; denn der awk macht dann den Rest. Den echo $ID; benutze ich um erstmal auszugeben und nicht zu löschen. Du hast mir sehr geholfen, Tom! Danke! Gruß Claus -------------------- |
||
|
![]() ![]() ![]() |