[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: bash: Wörter in Dateien ersetzen



Hi Thilo,

On Thu, 22 May 2003 13:32:29 +0200 Thilo Engelbracht wrote:

> Gibt es einen Befehl, mit denen man Wörtern in Dateien suchen und
> ändern/ersetzen kann?

Ja, gibt es.

Unter der Annahme die Dateinamen enthielten keine Leerzeichen oder
Newlines und es sind keine Unterverzeichnisse vorhanden, könnte
folgendes, einfaches, Konstrukt ein Anfang sein:

for i in *; do
	sed 's/selbstenpackend/selbstentpackend/g' <$i >$i.neu
	mv -f $i $i.bak && mv -f $i.neu $i
done

Die Grundlage ist und bleibt 'sed ...', wenn Unterverzeichnisse mit
durchsucht werden sollen/müssen oder die Dateinamen evtl. Lerrzeichen
und ähnliche Späße enthalten, muss halt die Schleife, bzw. generell das
Konstrukt welches den Dateinamen an sed übergibt plus die beiden mv's
(etwas) komplexer ausfallen.
-- 
Ciao,
 Pit



Reply to: