d.jaeger
Goto Top

Dateiinhalte in Unterordner verändern

Hey zusammen,

ich befinde in Linux im

Ordner ->O<- 
in diesem Ordner befinden sich Unterordner

u1, u2, u3, u4, u5 u6, u7, u8 ..., u_n
in jedem Unterordner befindet sich die Datei
conf.php 

in dieser Datei conf.php gibt es neben vielen anderen Einträgen den Eintrag

$meldung = "";   
Diese Meldung möchte ich per Bash-Script in allen Unterordner mit der gleichen Meldung füllen, heißt

$Meldung = "Meine Meldung, die in alle Dateien eingetragen werden soll";   
Wie kann ich vorgehen?

Danke für Eure Hilfe und beste Grüße

Content-Key: 12616411206

Url: https://administrator.de/contentid/12616411206

Printed on: April 28, 2024 at 07:04 o'clock

Member: erikro
Solution erikro Jan 25, 2024 at 08:37:22 (UTC)
Goto Top
Moin,

am Besten, Du schreibst das in eine eigene Datei und bindest die in allen Dateien mit include ein.
https://www.php.net/manual/en/function.include.php

Wie man massenhaft Dateien manipuliert, wurde hier schon gefühlt 1.000.000 Mal diskutiert. Kurz: Mit der Powershell alle Dateinamen einlesen (get-childitem) und danach mittels einer Schleife (foreach) jede öffnen, die Zeile eintragen und dann speichern.

hth

Erik
Member: colinardo
Solution colinardo Jan 25, 2024 updated at 08:54:14 (UTC)
Goto Top
Servus.
Ich würde auch den Weg über ein include oder eine Klasse gehen wenn du eh schon dabei bist mach es doch gleich vernünftig, sonst bist du bei jeder Änderung der Meldung wieder dran zig Dateien zu ändern, das ist ja alles andere als effizient und obendrein auch fehleranfälliger 🙃.

Nur der vollständigkeithalber noch um die Frage zu beantworten.
find O/*/ -maxdepth 1 -type f -name conf.php -exec sed -rie 's/(\$meldung\s*=\s*)".*"/\1"Meine Meldung, ...."/i' {} \;  

Grüße Uwe