Autor Thema: perl-Hilfe: 1-Zeiler für pi-hole  (Gelesen 362 mal)

Offline Morgennebel

  • Hero Member
  • *****
  • Beiträge: 1407
  • Proud systemd-free zone
perl-Hilfe: 1-Zeiler für pi-hole
« 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
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


Offline Otto123

  • Hero Member
  • *****
  • Beiträge: 13747
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:perl-Hilfe: 1-Zeiler für pi-hole
« Antwort #2 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
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

 

decade-submarginal