perl-Hilfe: 1-Zeiler für pi-hole

Begonnen von Morgennebel, 29 Januar 2019, 17:36:40

Vorheriges Thema - Nächstes Thema

Morgennebel

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
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA


Otto123

Der $1 wird als Variable von der Shell aufgelöst, ich denke Du musst entweder \$1 oder '...$1...' nehmen.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz