Am Mon, 19 Nov 2001 schrieb Olaf Lange:
wie bekomme ich sed dazu, eine Substitution/Manipulation direkt an einer Datei vorzunehmen, an Stelle es auf die Kommandozeile zu schreiben:
sed s/applet/bpplet/ tabtest.html
Sed liest von STDIN und schreibt auf STDOUT, wenn Du das nicht willst, mußt Du entsprechende Umleitungen definieren. Aber Achtung, Du darfst nicht die gleiche Datei über Stdin einspeisen und als Umleitung von Stdout angeben. sed s/applet/bpplet/ < tabtest.html > tabtest.hmtl ist eine sichere Methode, die Datei tabtest.html zu leeren... Also stattdessen z.B.: sed s/applet/bpplet/ < tabtest.html > tabtest.html.tmp mv tabtest.html.tmp tabtest.html Wenn Du das für viele Dateien (z.B. alle in einem Verzeichnis) machen willst, bietet sich ein Miniskript an: for i in *; do sed -e "s/applet/bpplet/" < $i > $i.tmp; \ mv $i.tmp $i; done \ soll andeuten, daß da eigentlich kein Zeilenumbruch steht! Vorher aber checken ob alles so funktioniert, wie Du es Dir denkst. Gruß Christoph -- Christoph Maurer - Paul-Röntgen-Straße 7 - 52072 Aachen - Tux#194235 mailto:christoph-maurer@gmx.de - http://www.christophmaurer.de Auf der Homepage u.a.: Installation von SuSE 7.0 auf Notebook Acer Travelmate 508 T, Elektrotechnik an der RWTH Aachen