Bernhard Bittner wrote:
Hallo,
ich habe als Grundlage /home/vorlage und möchte daraus /home/individuell erzeugen.
Dazu müssen in diversen Konfig-Dateien die Pfade geändert werden - das macht z.B. dieser Einzeiler:
find /home/kopie_von_vorlage -type f -exec sed -i 's//home/vorlage//home/individuell/g' {} ;
Dummerweise ändert der aber das Dateidatum nicht nur bei den Dateien, wo die Pfade geändert werden müssen.
Das möchte ich verhindern und suche eine Lösung, die nur die Dateien anfasst, wo es nötig tut.
Weiß jemand, wie das hinzubekommen ist?
find /home/kopie_von_vorlage -type f -exec sh -c "grep -q /home/vorlage '"{}"' && sed -i 's#/home/vorlage#/home/individuell#g' '"{}"'" ;
Kurz und gut: "erst schauen, dann ändern" nebst "ich verwende bei find im -exec den Dateinamen mehrfach" unter Berücksichtigung von "dann muss ich aber das {} irgendwie mehrfach in dem Kommando unterbringen" und einem "Dateinamen quoten kann nicht falsch sein, vielleicht ist ja auch mal ein Leerzeichen drin" sowie dem optionalen "sed kann auch ein anderes Trennzeichen als / verwenden, was extreme Backslasheritis verhindert"
Danmke & Grüße,
Bernhard
Ciao, Thomas