Ich möchte wissen, wie viele Benutzer google.com mit meinem Proxy mit den letzten 30 Minuten besucht haben.Einzigen Wert von awk Ausgang zählen
awk -v bt=$(date "+%s" -d "30 minutes ago") '($1 > bt) && $4~/google.com/ {printf("%s|%s|%s|%s\n", strftime("%F %T",$1), $2 , $3, $4)} ' access.log
Die Protokolle sehen aus wie dieses
2017-02-19 12:09:44|[email protected]|200|https://google.com/
2017-02-19 12:10:23|[email protected]|200|https://google.com/
Jetzt kann ich einfach die Anzahl der Datensätze zählen
awk -v bt=$(date "+%s" -d "30 minutes ago") '($1 > bt) && $4~/google.com/ {printf("%s|%s|%s|%s\n", strftime("%F %T",$1), $2 , $3, $4)} ' access.log | wc -l
Ausgang ist 2.
Wie kann ich den Befehl ändern, um nur Datensätze mit eindeutiger E-Mail anzeigen. Im obigen Fall sollte die Ausgabe 1 sein.