Ich lade nächtlich per svn einige Dateien vom Server auf ein Testsystem. Diese sollen (nur in der lokalen Kopie und diese soll nicht eingecheckt werden) bei jedem svn-Export einige automatische Modifikationen erfahren. So soll z.B. in der "function output" hinter dem Text "Zeile2" der Text "printed after regex\n" eingefügt werden.
Die "test"-Datei sieht wie folgt aus:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
output()
#kommentar
call output();
#kommentar
#und noch einer
function output(){
Zeile1;
Zeile2;
Zeile3;
Zeile4;
}
output();
#kommentar
call output();
#kommentar
#und noch einer
Zeile1;
Zeile2;
Zeile3;
Der regex
function output\(\).*?Zeile2
matcht sehr schön genau den Abschnitt, nach dem ich meinen Text einfügen will.
Leider krieg ich folgenden perl Einzeiler nicht dazu das Pattern zu matchen.
perl -ni -e 'print;print "printed after regex\n" if($_ =~ /function output\(\).*?Zeile2/)' test
Dotall modifier direkt hinter dem zweiten/des regex wurde auch schon probiert.
Alle Tipps willkommen.
Danke und Gruß
emwede\n\n
<!--EDIT|emwede|1173717327-->