Wie kann ich durch einen ganzen Verzeichnisbaum in allen Dateien ein bestimmtes zeicjen suchen und ersetzen?
Ich möchte z..B. ein ä durch einen entsprechenden HTML Umlaut ersetzen.
![]() Anmeldungsdatum: Beiträge: 557 Wohnort: Halberstadt |
Wie kann ich durch einen ganzen Verzeichnisbaum in allen Dateien ein bestimmtes zeicjen suchen und ersetzen? Ich möchte z..B. ein ä durch einen entsprechenden HTML Umlaut ersetzen. |
![]() Anmeldungsdatum: Beiträge: 108 Wohnort: Innsbruck, Österreich |
Ich denke sed kann das. |
![]() Anmeldungsdatum: Beiträge: 6468 Wohnort: Hamburg |
Ich habe sowas auch mal machen müssen, weil ich auf externe Stylesheets umgestellt habe. Das waren 800 *.csv Dateien allerding nur in einem Verzeichnis. Mein "quick and dirty" Tool sah etwa so aus: #!/bin/bash # # #FILES=`find ~/Projects/dbf -iname '*.csv'` FILES=`find . -iname '*.csv'` for f in $FILES do echo "$f" # ignore plain template if [ $(grep 'plain.inc' $f) ] ; then continue fi # alle <h3> Tags gegen <h1> tauschen und dabei Styles etc. unterdrücken sed -e 's#<h3[^>]*>#<h1>#g' -e 's#</h3>#</h1>#g' $f >~/temp.txt cp ~/temp.txt $f done Nebenwirkungsfreiheit kann nicht garantiert werden! Desshalb hatte ich vorher ein Backup gemacht. Wie die Profis sowas machen kannst du dir hier ansehen: http://www.linux-club.de/viewtopic.php?t=36499 Ob dise Scripte allerdings richtig arbeiten, wenn du ISO und Unicode Zeichensätze gemischt hast weiss ich nicht. Dakuan |