Script-Spielerei (1) – FritzBox Protokoll als csv-Datei

Hallo,

heute nach langer Zeit mal wieder ein neuer Blogeintrag. Seit langer Zeit ärgert mich die Tatsache, dass ich das Ereignisprotokoll der FritzBox nicht so einfach als csv-Datei exportieren kann, damit ich die Dateien besser auswerten kann.
Zur Erläuterung: csv steht für „comma-separated-value“, also Komma-getrennte-Werte, also praktisch eine Datei, die z.B. so aussieht:

13.05.17, 14:30:12,WLAN-Anmeldung ist gescheitert(2,4 GHz): Zugangsprüfung fehlgeschlagen. MAC-Adresse: XX:XX:XX:XX:XX:XX.
13.05.17,13:39:10, WLAN-Anmeldung ist gescheitert(2,4 GHz): Zugangsprüfung fehlgeschlagen. MAC-Adresse: XX:XX:XX:XX:XX:XX

Wenn ich im Firefox das Protokoll markiere und dann in einen Texteditor einfüge, wird aus der Liste leider folgendes:

 

13.05.17
14:30:12
WLAN-Anmeldung ist gescheitert(2,4 GHz): Zugangsprüfung fehlgeschlagen. MAC-Adresse: XX:XX:XX:XX:XX:XX.
13.05.17
13:39:10
WLAN-Anmeldung ist gescheitert(2,4 GHz): Zugangsprüfung fehlgeschlagen. MAC-Adresse: XX:XX:XX:XX:XX:XX.

Sehr ärgerlich, so lässt sich das nicht auswerten, beim Importieren in LibreOffice sieht es genauso aus.
Eine mögliche Lösung ist folgendes Script:

#!/bin/bash
# this script takes a log file where all infos are in seperate lines and re-arranges it as a csv file
# use this script this way:
# scriptname oldfile newfile lines separator

# separate lines in separate files
for ((z=0;z<${3};z++))
do
awk „$z == NR%3“ ${1} > ${z}.temp.txt
done

# join separate files

paste -d „$4“ *.temp.txt > ${2}
rm *.temp.txt

Das Script muss mit folgenden Parametern aufgerufen werden:

  1. Name der Quelldatei
  2. Name der Zieldatei
  3. aus wie vielen Zeilen besteht eine Informationssatz?
  4. Trennzeichen – unbedingt mit doppelten Anführungszeichen!

Also zum Beispiel so:

scriptname quelldatei.txt zieldatei.txt 3 „;“

Zur Funktionsweise: Zuerst zerlegt mein Script die 3., 3.+1, 3.+2 Zeile in jeweils eine extra Datei, um diese Dateien im zweiten Teil wieder  mit dem passenden Trennzeichen neu zusammenzufügen. Zum Schluss werden die temporären Dateien gelöscht.
Ist bestimmt nicht eleganteste Lösung, aber es funktioniert… Jetzt kann ich endlich FritzBox-Protokolle richtig auswerten!

Quellen:

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s