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 -- Thomas Köhler Email: jean-...@picard.franken.de <>< WWW: http://gott-gehabt.de IRC: tkoehler Freenode: thkoehler PGP public key available from Homepage!
signature.asc
Description: Digital signature
_______________________________________________ Lug-dd maillist - Lug-dd@mailman.schlittermann.de https://ssl.schlittermann.de/mailman/listinfo/lug-dd