FHEM Forum

Verschiedenes => Off-Topic => Thema gestartet von: Morgennebel am 29 Januar 2019, 17:36:40

Titel: perl-Hilfe: 1-Zeiler für pi-hole
Beitrag von: Morgennebel am 29 Januar 2019, 17:36:40
Moin Moin,


ich kenne und nutze gerne den Perl-Einzeiler

perl -pie "s/OLDTEXT/NEWTEXT/mg" dateiname.txt

Nun habe ich Konfigurationszeilen von pi-hole für statische IP-Adreßzuweisungen und feste Namen, im Schema:

dhcp-host=28:6C:07:F9:07:77,192.168.1.148,flur-vacuum-eg
dhcp-host=30:CD:A7:14:0D:1D,192.168.1.100,samsung-mfp
...


Ich möchte nun zwei pi-holes einsetzen - der erste übernimmt den DHCP-Scope 192.168.1.30-90 und der zweite den DHCP-Scope 192.168.1.130-190. Beide sollen natürlich die gleichen Namen aber in verschiedenen Adreßbereichen vergeben. Daher muß ich die Konfigurationsdatei vom 1. pi-hole auf den 2. pi-hole pushen und modifizieren...

Mein Ansatz war:

perl -pie "s/192\.168\.1\.(\d+)/192.168.1.$1+100/gm" test.conf

Jedoch wird das Matching auf $1 nicht ersetzt und ausgerechnet, sondern bleibt leer und eine Berechnung findet nicht statt:

dhcp-host=28:6C:07:F9:07:77,192.168.1.+100,flur-vacuum-eg
dhcp-host=30:CD:A7:14:0D:1D,192.168.1.+100,samsung-mfp


Kann ich das mit Perl in einem Einzeiler realisieren?

Danke für Denkanstösse...

Ciao, -MN
Titel: Antw:perl-Hilfe: 1-Zeiler für pi-hole
Beitrag von: mumpitzstuff am 29 Januar 2019, 17:56:06
https://stackoverflow.com/questions/25675850/arithmetic-calculation-in-perl-substitute-pattern-matching (https://stackoverflow.com/questions/25675850/arithmetic-calculation-in-perl-substitute-pattern-matching)
Titel: Antw:perl-Hilfe: 1-Zeiler für pi-hole
Beitrag von: Otto123 am 29 Januar 2019, 18:27:00
Der $1 wird als Variable von der Shell aufgelöst, ich denke Du musst entweder \$1 oder '...$1...' nehmen.

Gruß Otto