Hallo zusammen
Ich betreue eine Web-Site, die schon etwas in die Jahre gekommen ist. Von CMS keine Spur.
Nun wurde vor kurzem die Position einer anderen Web-Site geändert, auf die von praktisch jeder Seite verlinkt wird.
Statt jetzt die ganze Site herunterzuladen, ein Search/Replace zu machen wollte ich fragen, ob es ein Shell-Commando gibt, das Strings in einer Datei ersetzen kann.
Dies würde ich in ein nettes Shell-Script einbauen, das mir mit find alle .html-Files im wwwroot (und darunter) ausgeben und diese mit exec behandeln würde.
Danke für Tipps!
Liebe Grüsse
Mario
Ersetze URL in HTML-File
Hi!
Darf's auch Perl sein?
Oder, um von jeder Datei eine Sicherheitskopie zu machen:
Gruß, <mawe>
Darf's auch Perl sein?
Code: Alles auswählen
perl -pi -e 's/alte_url/neue_url/g' *.html
Code: Alles auswählen
perl -pi.bak -e 's/alte_url/neue_url/g' *.html
- peschmae
- Beiträge: 4844
- Registriert: 07.01.2003 12:50:33
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: nirgendwo im irgendwo
oder auch wie vorgeschlagen sowas:
ALTEURL=http://da.sind.wir.nicht.mehr.com
NEUEURL=http://hier.sind.wir.com
find -name "*.html" -exec sed "s#$ALTEURL#$NEUEURL#g" -i {} \;
Natürlich vorher ein Backup machen
MfG Peschmä
ALTEURL=http://da.sind.wir.nicht.mehr.com
NEUEURL=http://hier.sind.wir.com
find -name "*.html" -exec sed "s#$ALTEURL#$NEUEURL#g" -i {} \;
Natürlich vorher ein Backup machen
MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy
Wieso stelle ich immer zuerst Fragen google erst später?
Hallo
Folgendes Script habe ich mit Hilfe eines Google-Links zusammengebaut. Getestet habe ich es zuerst auf meinem Test-Server (Debian) hier zu Hause, danach ging es scharf ans Werk auf dem Uni-Server, der unter Solaris läuft:
Das .tmp-Backup habe ich nach Tests auf dem Uni-Server sein lassen, damit es mir das Directory nicht vollmüllt. Im Worst Case wäre die Site über das Weekend offline gegangen und ich hätte bei unserem Sysadmin Backups von gestern angefordert.
Vor dem Drücken der Return-Taste war es mir doch etwas kribbelig Aber: No risk, no fun.
Liebe Grüsse
Mario
Folgendes Script habe ich mit Hilfe eines Google-Links zusammengebaut. Getestet habe ich es zuerst auf meinem Test-Server (Debian) hier zu Hause, danach ging es scharf ans Werk auf dem Uni-Server, der unter Solaris läuft:
Code: Alles auswählen
#! /bin/sh
STRSEARCH="www.unibe.ch\/faculties\/humanities_d.html"
STRREPLACE="www.philhist.unibe.ch\/"
if [ -d /var/www/hist ]
then
# AT HOME
cd /var/www/hist
else
# ON UBECX
cd /u/hist/www
fi
find . -type f -name '*.htm' -print | while read i
do
cp "$i" "$i.tmp"
if [ -f "$i.tmp" ]
then
#echo "s/$STRSEARCH/$STRREPLACE/g"
sed "s/$STRSEARCH/$STRREPLACE/g" "$i" > "$i.new"
if [ -f "$i.new" ]
then
mv "$i.new" "$i"
else
echo "$i.new doesn't exist"
fi
else
echo "$i.tmp wasn't created"
fi
done
Vor dem Drücken der Return-Taste war es mir doch etwas kribbelig Aber: No risk, no fun.
Liebe Grüsse
Mario