Posts mit Tag: Preg

HowTo: Textersetzung in mehreren Dateien mit Perl (preg) unter Windows und Linux

Neulich stellte sich mir folgendes Problem:
Ich hatte viele Dateien, in denen ich Text ersetzen wollte. Mit einem normalen Editor ist dies schlecht möglich. Abhilfe schafft der Perl Interpreter:

1
2
3
4
5
6
7
8
perl -pi -w -e 's/search/replace/g;' *.html
 
    -e Argument ausführen (execute)
    -i "in-place" editieren
    -w Warnungen ausgeben
    -p "loop"
 
siehe auch perl -h

Beispiel Datum 1

Es soll das Datum von 2008 auf 2009 in allen html-Dateien im aktuellen Verzeichnis aktualisiert werden:

1
perl -pi -w -e 's/2008/2009/g;' *.html

Beispiel Datum 2

Es soll das Datum von 200x auf 2009 in allen html-Dateien im aktuellen Verzeichnis aktualisiert werden:

1
perl -pi -w -e 's/200[0-8]/2009/g;' *.html

Beispiel: Verzeichnisse rekursiv durchsuchen (nur Linux)

1
2
3
4
5
find * | grep -E "\.html$" | xargs perl -pi -w -e 's/search/replace/g;'
 
    find * gibt alle Dateien und Verzeichnisse aus
    grep -E "\.html$" selektiert nur Dateinamen, die auf .html enden
    xargs gibt die Dateinamen als Parameter an Perl weiter

WordPress Themes