Mit SED Suchen & Ersetzen in mehreren Dateien
Freitag, den 19. Oktober 2007Obwohl das PC-MAG davon ausgeht, dass es viel schwieriger sei, mittels SED direkt in mehreren Dateien zu Suchen und zu Ersetzen, geht es doch recht einfach:
for i in *.html; do sed -i -e ’s/Suchen/Ersetzen/g‘ $i; done
Hier werden also alle Html-Dateien (*.html) an sed weitergegeben. Dank „-i“ wird das SuchenErsetzen direkt wieder in die gleiche Datei ($i) geschrieben.
Toll ;-)!
Weiteres zu SED gibt’s auch hier: linux-user.de/
Schönes Beispiel für einen regulären Ausdruck:
for i in *.html; do sed -i -e „s/index.php?item=\([0-9]\)/index.\1.html/“ $i; done
SED arbeitet -nicht wie Perl- mit $1 sondern mit \1, um das durch die Klammern gefundene Pattern im Ergebnis einzusetzen.