Während man in der bash mit [ $UID -eq 0 ] auf root testen kann, geht das mit der ash (z.B. in der busybox) nicht, da diese $UID nicht kennt. So löst man das Problem elegant:
if [ $(id -u) -eq 0 ]; then
grep durchsucht Daten zeilenweise sodass man Muster welche ein Newline enthalten eigentlich per Definition nicht erfassen kann. Mit einem Trick geht es aber trotzdem:
Dies sucht Stellen, bei denen eine Zeile mit Muster1 endet und die nächste Zeile mit Muster2 beginnt
Das geht mit
Für das Format des Datums siehe "man date"
liefert die Antwort!