linux-l: replace rekursiv
Steffen Solyga
solyga at absinth.net
Di Apr 18 00:02:42 CEST 2000
> weiss jemand ne 'gute' methode um in einem directory in jedem (text)file einen
> string mit einen anderen zu ersetzen?
> im emacs? sed?
Als alter Perlhasser würde ich folgendes vorschlagen:
$ for i in `find . -type f`; do echo "Processing $i"; file $i | grep text > /dev/null 2>&1 && (cp -p $i /tmp/file; sed "s/alter string/neuer string/g" /tmp/file > $i; touch -r /tmp/file $i; ); done
$ rm -f /tmp/file
Sieht doch abgefahren aus, oder? Funktioniert auf meiner Linuxkiste wunderbar.
Eventuell ist der output von file zu prüfen, weiß nicht, ob alle Versionen
denselben output erzeugen.
--
-------------------------------------------
Steffen Solyga
mail: solyga at absinth.net
www : http://www-tet.ee.TU-Berlin.DE/solyga
-------------------------------------------
Mehr Informationen über die Mailingliste linux-l