Hallo Sven,
Dazu habe ich mir von Ulli Meybohm sein Skript "rxr"
geholt.
Ts, ts, ts :) Dafuer ist doch find wunderbar geeignet:
find . -name "*.htm" -exec perl -pi -e 's!muster!replace!sg' {} ;
find * | grep ".HTM" | rxr <H3>(.*?)<\/H3> <p><strong>$1</strong></p>
find . -name "*.HTM" -exec rxr '<H3>(.*?)</H3>' '<p><strong>$1</strong></p>'
wenn es denn unbedingt 'rxr' sein muss. Ansonsten:
find . -name "*.HTM" -exec perl -pi -e 's!<H3>(.*?)</H3>!<p><strong>$1</strong></p>!sg'
Diese Kommandozeile soll z.B. nach allen Überschriften
<h3> suchen diese in <p><strong></strong></p> umwandeln.
Das Problem ist: Der ersetzte Ausdruck lautet wortwörtlich
<p><strong>$1</strong></p> - der Inhalt der ersten Klammer
wird leider nicht wieder eingesetzt.
Sicher, das Perl-Script kriegt einen String. Da fehlt wohl
ein 'ee', wenn es unbedingt mit Back-References gehen soll.
Dann musst du aber auch "<p><strong>".$1."</p></strong>"
schreiben. Mit dem doppelten 'e' wuerde halt der
Ersetzungs-String ausgefuehrt (evaluiert).
Gruesse,
CK