Moin!
find * | grep ".HTM" | rxr <H3>(.*?)<\/H3> <p><strong>$1</strong></p>
Ähhhh....
Willst Du die Klammern um .*? für Perl oder die Shell escapen ? Für Perl müßtest Du die Backslashe auch noch escapen [ \(.*?\) ], das willst Du aber wohl kaum. Und die Shell sollte die Backslashes nicht wirklich brauchen, oder ?
Doch, die Shell braucht die Backslashes. Denn mit runden Klammern startet man ansonsten eine Subshell, in der man gewisse Dinge ausführen lassen kann. Das will ich garantiert nicht.
Von den Backslashes her gesehen kommt in Perl alles so an, wie ich es denke, dass es gut ist. Und die runden Klammern sind auch nicht das Problem - die funktionieren scheinbar, denn es wird die gesamte <h3>...</h3> ersetzt. Nur eben nicht durch <p><strong>...alte Überschrift...</strong></p>, sondern durch <p><strong>$1</strong></p>.
Deswegen meine Vermutung, dass Perl zwar reguläre Ausdrücke durch Variablen befüllen lassen kann, aber dort selbst keine Variablen enthalten sein können. Andererseits kann ich mir das nicht so recht vorstellen.
- Sven Rautenberg
"Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)