Moin Thomas, * Thomas Hofer schrieb am 25 Nov 2001:
Bernd Brodesser wrote (Sonntag, 25. November 2001 17:35):
* Markus Nohn schrieb am 25.Nov.2001:
wie kann ich mit Hilfe eines bash-skriptes in einem Verzeichnis das Dateien in mehreren Unterverzeichnissen enthält, immer das gleiche Wort in diesen Dateien durch ein anderes erstzen? Zum Beispiel soll "Tastatur" in allen Dateien durch "Keyboard" ersetzt werden.
find . <weitere Options> -exec sed "s/Tastatur/Keyboard/g"
Es geht auch mit einer for-Schleife, was vielleicht etwas verständlicher ist, aber bei Spaces in Filenames versagt:
for f in `find .`; do sed 's/Tastatur/Keyboard/g' \ <$f >/tmp/replace.$$ && mv /tmp/replace.$$ $f ; done
IFS=' ' for ... usw geht dann auch mit Leerzeichen, aber dafür nicht mit Zeilenwechsel im Dateinamen *g* Gruß, Sebastian -- Do not meddle in the affairs of Wizards, for they are subtle and quick to anger. Sebastian Helms - http://www.helms.sh - mailto:mail@helms.sh (PGP welcome) SuSE-Linux-Mailinglisten-FAQ: http://www.helms.sh/faq/