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!

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Lug-dd maillist  -  Lug-dd@mailman.schlittermann.de
https://ssl.schlittermann.de/mailman/listinfo/lug-dd

Reply via email to