Peter Mairhofer: Offset von regexp oder Tabs formatiert

Beitrag lesen

hi,

\s+ match au tabs - scho gwisst?

ja sicher. ich habs auch versucht aber es geht leider nicht. Ich druck einen Teil der Logfile ab, hoffentlich werden Tabs & Co richtig übernommen.

/usr/sbin/mysqld, Version: 3.23.49-log, started with:
Tcp port: 0  Unix socket: /var/run/mysqld/mysqld.sock
Time                 Id Command    Argument
/usr/sbin/mysqld, Version: 3.23.49-log, started with:
Tcp port: 0  Unix socket: /var/run/mysqld/mysqld.sock
Time                 Id Command    Argument
040509 17:53:23       1 Connect     Access denied for user: 'debian-sys-maint@localhost' (Using password: YES)
040509 17:53:24       2 Connect     Access denied for user: 'debian-sys-maint@localhost' (Using password: YES)
040509 17:53:25       3 Connect     Access denied for user: 'debian-sys-maint@localhost' (Using password: YES)
040509 17:53:26       4 Connect     Access denied for user: 'debian-sys-maint@localhost' (Using password: YES)
040509 17:53:27       5 Connect     Access denied for user: 'debian-sys-maint@localhost' (Using password: YES)
040509 17:53:28       6 Connect     Access denied for user: 'debian-sys-maint@localhost' (Using password: YES)
040509 17:53:36       7 Connect     Access denied for user: 'root@localhost' (Using password: YES)
040509 17:53:52       8 Connect     intranet@localhost on
040509 17:53:57       8 Init DB     intranet
                      8 Query       show databases
                      8 Query       show tables
                      8 Field List  phpbb_album
                      8 Field List  phpbb_album_cat
                      8 Field List  phpbb_album_comment
                      8 Field List  phpbb_album_config
                      8 Field List  phpbb_album_rate
040509 17:53:58       8 Field List  phpbb_themes_name
                      8 Field List  phpbb_topics
                      8 Field List  phpbb_topics_watch
                      8 Field List  phpbb_attach_quota
/usr/sbin/mysqld, Version: 3.23.49-log, started with:
Tcp port: 0  Unix socket: /var/tmp/mysql.sock
Time                 Id Command    Argument
040509 18:00:50       1 Connect     intranet@localhost on
                      1 Init DB     intranet
                      1 Init DB     intranet
                      1 Query       REPLACE INTO t_online(SID, personID, time, ip) VALUES('24e294c416cf7de1ac6180c6c4600d22', -1, 1084118450, '192.168.200.123')
                      1 Query
            SELECT
                ts\_applet\_group.appletID AS id,
                ts\_applet\_group.sideID AS side,
                t\_applet.path AS path
            FROM ts\_applet\_group
            LEFT JOIN t\_applet ON t\_applet.appletID = ts\_applet\_group.appletID
            LEFT JOIN th\_group ON th\_group.groupID = ts\_applet\_group.groupIDWHERE (t\_applet.f\_aktiv = 1) AND (0  OR th\_group.short = 'INT' )
            GROUP BY id
            ORDER BY ts\_applet\_group.sortOrder
                      1 Query
    SELECT
        t_personen.nick
    FROM
        t_online
    LEFT JOIN t_personen ON t_personen.personID = t_online.personID
    WHERE
        (1084118150 <= t_online.time)

1 Query       SELECT (...)

Siehst du jetzt das Problem? Ich kann die Datei nicht vernünftig Zeile für Zeile durchgehen. Die Queries gehen oft über mehrere Zeilen. Ich muss eigentlich nur den Anfang und das Ende der Queries feststellen können (ich brauch nur INSERT, UPDATE und REPLACE).

Also war meine Idee eben, zu überprüfen, ob an einem bestimmten Offset "Query" steht. Von nun an wird alles ausgelesen, bis eine Zeile erscheint, an der ebenfalls an einem bestimmten Offset ein Befehl steht (hier muss es nicht mehr "Query" sein.

PS: Echt sauschlecht, die Logfile die mysql da erstellt hat...