Page 1 of 1

Massenänderung mit SSH-Script

Posted: 2005-04-02 09:40
by kasi4u
Hallo,

ich möchte eine Masseninstallation vornehmen (450 Ã?nderungen gleichzeitig). Dabei möchte ich, dass Dateien aus meiner Vorlage in die Kundenwebs kopiert werden. Dies habe ich geschafft und das funktioniert vorzüglich.

Jetzt habe ich das Problem, dass ich, wenn ich es kopiert habe, in einer Datei, die im Kundenweb abgelegt worden ist, eine Angabe in einer Datei ändern möchte, ebenfalls nach dem Motto, wie ich es kopiert habe. Das Script soll ein File aufrufen und es nacheinander abarbeiten. Leider weiß ich nicht, wie ich mittels ssh in eine Datei hineinschaue und dann die Ã?nderung vornehmen lasse und dann abspeichere.

Könntet ihr mir einen Tipp geben?

So sieht mein bisheriges Script aus:

Code: Select all

#!/bin/sh
for i in `cat kundenwebsliste.txt`
do
rm -rf /home/htdocs/$i/html/c;
rm -rf /home/htdocs/$i/html/index.php4;
cp -rf /home/vorlage/html/c /home/htdocs/$i/html/c;
cp -rf /home/vorlage/html/index.php4 /home/htdocs/$i/html;
chown ${i}.${i} /home/htdocs/$i/html/index.php4;
chown ${i}.${i} /home/htdocs/$i/html/c/;
done
# EOF
Viele Grüße

Karsten

Re: Massenänderung mit SSH-Script

Posted: 2005-04-02 09:56
by Joe User
man grep
man ed
man sed
man awk

gelöst:

Posted: 2005-04-02 11:02
by kasi4u

Code: Select all

#!/bin/bash
for i in <pfad>/<file>
do
    sed 's/suchen/ersetzen/' $i > $i.new
    mv -f $i.new $i
done
somit ist mein Problem gelöst :-)

Viele Grüße

Karsten

Re: Massenänderung mit SSH-Script

Posted: 2005-04-04 16:50
by thorsten
Zur Anmerkung:
sed kennt seit einiger Zeit den Schalter -i
Das nennt man infile Bearbeitung, du mußt also nicht mehr mit temporären Dateien arbeiten.