Hallo zusammen,
viele GA anlegen oder löschen ist mit dem eingebauten Editor etwas mühselig. Daher habe ich mir zwei Skripte geschrieben, eibga2csv.pl und csv2eibga.pl.
Mit dem ersten wird die aktuelle eibga.conf gelesen und die Daten in eine eibga.csv geschrieben. Die kann man sich dann vom Wiregate herunterladen, z.B. in Excel importieren, bearbeiten und wieder speichern. Die geänderte Datei zurückspielen, mit dem zweiten Skript wird dann daraus eine eibga.conf.new erstellt. Ist man sicher, dass die ok ist, kann man sie an die Stelle der ursprünglichen eibga.conf kopieren (am besten vorher Backup davon machen), den Daemon neustarten und fertig.
Benutzung natürlich auf eigenes Risiko. Achtung: GA-Namen müssen mindestens aus zwei Wörtern bestehen, sonst gehts schief. Bugfix in Arbeit.
eibga2csv.pl:
csv2eibga.pl:
Gruss,
der Jan
viele GA anlegen oder löschen ist mit dem eingebauten Editor etwas mühselig. Daher habe ich mir zwei Skripte geschrieben, eibga2csv.pl und csv2eibga.pl.
Mit dem ersten wird die aktuelle eibga.conf gelesen und die Daten in eine eibga.csv geschrieben. Die kann man sich dann vom Wiregate herunterladen, z.B. in Excel importieren, bearbeiten und wieder speichern. Die geänderte Datei zurückspielen, mit dem zweiten Skript wird dann daraus eine eibga.conf.new erstellt. Ist man sicher, dass die ok ist, kann man sie an die Stelle der ursprünglichen eibga.conf kopieren (am besten vorher Backup davon machen), den Daemon neustarten und fertig.
Benutzung natürlich auf eigenes Risiko. Achtung: GA-Namen müssen mindestens aus zwei Wörtern bestehen, sonst gehts schief. Bugfix in Arbeit.
eibga2csv.pl:
Code:
#!/usr/bin/perl # # eibga2csv.pl 1.0 # # (c) 2015 Jan N. Klug # use strict; open(my $in, '<', "/etc/wiregate/eibga.conf"); open(my $out, '>', "eibga.csv"); my $hg="HG"; my $mg="MG"; my $ga="GA"; my $name="Name"; my $dpt="DPT"; my $subdpt="SubDPT"; my $dpt_subtypename = "DPT_SubtypeName"; while (<$in>) { chomp; if ($_ =~ /^\[(\d*)\/(\d*)\/(\d*)\]/) { print $out "$hg;$mg;$ga;$name;$dpt;$subdpt;$dpt_subtypename\n"; $hg = $1; $mg = $2; $ga = $3; } elsif ($_ =~ /dpt_subtypename = (.+)/i) { $dpt_subtypename = $1; } elsif ($_ =~ /name = (.+)/i) { $name = $1; } elsif ($_ =~ /dptid = (.+)/i) { $dpt = $1; } elsif ($_ =~ /dptsubid = (.+)/i) { $subdpt = $1; } } print $out "$hg;$mg;$ga;$name;$dpt;$subdpt;$dpt_subtypename\n"; close $in; close $out;
Code:
#!/usr/bin/perl # # csv2eibga.pl 1.0 # # (c) 2015 Jan N. Klug # use strict; open(my $in, '<', "eibga.csv"); open(my $out, '>', "eibga.conf.new"); while (<$in>) { chomp; if ($_ =~ /(.*);(.*);(.*);(.*)\s(.*);(.*);(.*);(\w*)/) { print $out "[$1/$2/$3]\n"; print $out "short = $4\n"; print $out "DPTSubId = $7\n"; print $out "ga = $1/$2/$3\n"; print $out "name = $4 $5\n"; print $out "DPTId = $6\n"; print $out "DPT_SubTypeName = $8\n"; print $out "\n"; } } close $in; close $out;
der Jan
Kommentar