Datum: 2007-05-04
Quelle: opensuse-programming-de
In allen HTML-Dateien eines Verzeichnis sollen die Dateinamen der Bilder, die in den src-Attributen von <img>-Tags stehen, in Kleinbuchstaben umgewandelt werden.
perl -p0i.bak -e 's/(<img\s+.*?src=)(".+?")/$1\L$2/ig' *.html
Der perl-Aufruf enthält folgende Besonderheiten: Die Option -p führt das übergebene Code-Fragment für jede Zeile der aktuellen Datei aus. Die Option -0 setzt den Zeilentrenner für die Eingabe auf \0 um, so dass auch zeilenübergreifende HTML-Tags erfasst werden. Die Option -i.bak bewirkt ein Inplace-Editieren der Dateien, wobei für jede Datei ein Backup angelegt wird. Für die regulären Ausdrücke wird der ?-Quantifier benutzt, der ihnen die Gierigkeit abgewöhnt, so dass nicht wie üblich der längste. sondern der kürzeste passende Match ermittelt wird.