Tool: batchweises Suchen&Ersetzen innerhalb von HTML?
Ede
- html
0 Frank0 Oli0 axel mauruszat0 Jochen Kubik
Hi,
ich muss in mehr als 2000 Html-docs die Copyright-Angaben ändern/ersetzen.
Kennt jemand ein Tool, mit dem man das bequem per batch-Prozess bewerkstelligt???
Any Ideas?
thx,
Ede
Hi,
ich muss in mehr als 2000 Html-docs die Copyright-Angaben ändern/ersetzen.
Kennt jemand ein Tool, mit dem man das bequem per batch-Prozess bewerkstelligt???
Any Ideas?
thx,
Ede
Hi,
versuchs doch mal mit nem VB-Script, wenn Scripting bei dir aktiviert ist. Da kannst du sowohl den Dateifortschritt "batchen" als auch die Ersetzungen in einem Doc.
Gruß
Frank
Hallo Ede,
unter windows geht das mit ultraedit (www.ultraedit.com) und dem befehl "replace in files" ganz gut, unter linux kenn ich kein fertiges tool, ich mach das mit folgendem (schnell zusammengeschustertem und nicht ganz perfektem ;-) perl script, aufruf erfolgt mit
"perl ersetzen.pl Datei_mit_Suchmuster Datei_mit_Ersetzungsmuster Pfad"
Der Pfad wird dann rekursiv abgearbeitet. Die letzte replace-Anweisung legt ein backup an, wenn du das nicht brauchst, kannst du es auskommentieren.
gruss
oli
#!usr/bin/perl
use File::Find;
#übergabe
$such_string_datei = $ARGV[0]||die "Usage: ersetzen.pl suchstring_datei ersetzstring datei zielverzeichnis";
$ersetz_string_datei = $ARGV[1]||die "Usage: ersetzen.pl suchstring_datei ersetzstring datei zielverzeichnis";
$ziel = $ARGV[2]||die "Usage: ersetzen.pl suchstring_datei ersetzstring_datei zielverzeichnis";
#$ziel = "/home/oli/test";
print "$ziel\n";
#datei mit suchstring einlesen
$suchstring = '';
open(SUCHEN, "<$such_string_datei")||die;
while(<SUCHEN>){
$suchstring = $suchstring.$_;
}
close SUCHEN;
print "Suchstring: $suchstring\n";
#datei mit ersetzstring einlesen
$ersetzstring = "";
open(ERSETZEN, "<$ersetz_string_datei")||die;
while(<ERSETZEN>){
$ersetzstring = $ersetzstring.$_;
}
close ERSETZEN;
find(&process_file, $ziel);
sub process_file{
open(ZIEL, "+<$_");
print "---------------------------------------------------------------------------------------------\n";
#print $File::Find::name, -d && '/', "\n";
#print 'Akutelle Datei ($_):', "$_\n";
$aktuelle_datei=$_;
if (! -d){
$temp_datei = $_.".tmp";
open(TEMP, ">$temp_datei") ||die;
while(<ZIEL>){
s/$suchstring/$ersetzstring/g;
print TEMP $_;
}
close TEMP ||die;
close ZIEL;
print "Akutelle Datei: $aktuelle_datei\n";
#rename($aktuelle_datei, "$aktuelle_datei.old") if (! -d) or die;
rename($temp_datei, $aktuelle_datei) if (! -d);
}
}
'Morgeb Ede
Der HTML-Editor Phase 5 von Ulli Meybohm http://www.meybohm.de/htmledit/ bietet ein dateiübergreifendes suchen/ersetzen.
gruß
axel
Hi Ede, unter win kannst Du sicherlich dies verwenden:
http://www.chip.de/downloads_updates/downloads_updates_45905.html
Viele Grüße aus Ludwigsburg
JK
Nochmals,
Hi Ede, unter win kannst Du sicherlich dies verwenden:
http://www.inforapid.de/html/suchenersetzen.htm
Nochmals: Viele Grüße aus Ludwigsburg
JK