ich möchte möglichst mit wenig Aufwand case-sensitiv eine Zeichenkette ersetzen. Dies soll auch Verzeichnisse und Dateien betreffen, d.h.
wir haben beispielsweise Dateien a.cpp, b.cpp und im Ordner foo die Datei foo.cpp.
Der String "foo" befindet sich in allen 3 Dateien, also in a.cpp, b.cpp und foo.cpp.
Außerdem heißt das Verzeichnis foo und die Datei cpp-Datei in diesem Ordner ebenso.
Wenn "foo" jett substituiert werden soll,, sagen wir durch "xxl", dann soll es nicht nur in den Dateien passieren, sondern Ordner und Dateien, die "foo" beinhalten, sollen umbenannt werden.
Nach einer xxl-Substitution hätte man dann a.cpp und b.cpp mit xxl statt foo drin, den ordner xxl mit darin enthaltener xxl.cpp-datei mit allen von foo zu xxl umgewandelten einträgen.
ich habe mir schonmal überlegt, wie es losgehen soll:
Code: Alles auswählen
find . -name "*" -exec ./go.sh {} <substring> \;
Code: Alles auswählen
#!/bin/bash
echo $1
echo $2
#dateinamen anpassen
mv $1* $2*
# todo
# in den dateien substituieren
exit 0;