Hallo zusammen,
ich suche ein script ( z.B. in Perl) , welches einen
Verzeichnisbaum durch geht und in den Dateien
"Wort1" durch "Wort2" ersetzt. kann jemand
einem Neuling durch Code , Netzressouren und
ähnlichem aushelfen (Gerne auch Teillösung wie
z.B. ersetzen in allen Dateien eines Verzeichnisses.
Dank Euch im Voraus !!!
Gruß
Michael Wittmann
script zum "replacen"
EIn kleines Shellskript reicht aus: find durchsucht Dir einen Verzeichnisbaum rekursiv und gibt die Namen der Dateien aus, xargs nimmt diese Namen und bastelt sie zu einer Argumentliste für ein kleines perl-Skriptchen:Bei find kann man mittels -name, -user, -perm usw. die zu bearbeitenden Dateien sehr schön herausfiltern. "man find" hilft weiter. xargs nimmt die Ausgaben von find und übergibt sie als Argumente an dern perl-Einzeiler. Das s//-Kommando tauscht wort1 gegen wort2 aus, und zwar in jeder Datei in allen Zeilen. Diese Ersetzung geschieht in-place, d.h. in der eigentlichen Dateil. Aus Sicherheitsgründen werden die Originaldateien vorher kopiert in eine Sicherungsdatei mit der zusätzlichen Endung .bak.
Jochen
Code: Select all
find . -type f -print0 | xargs -0 perl -p -i.bak -e 's/wort1/wort2/g'
Jochen
Die grösste Lüge der EDV? "Mal eben..."