variable in datei dauerhaft ändern und speichern

D

dampfkessel83

Grünschnabel
Hi,

irgendwie stehe ich auf dem schlauch!
Ich habe ein sh Script in dem lese ich eine config Datei mit
Code:
source config.conf
ein, das klappt auch nun hole ich im Script mit wget eine Datei von meinem Server, diese beinhaltet:
Code:
anzahl=3
Nun möchte ich das
Code:
anzahl=3
in der config.conf überchrieben wird, aber nur den Wert! In der Config stehen noch weitere Variablen!!!

sh script:

Code:
#!/bin/sh
# config
source config.conf

######################

wget "$serverurl" -O $usbpath/num_anzahl.txt
nr=`cat $usbpath/num_anzahl.txt | grep anzahl`
echo "---------------"
echo $nr
echo "---------------"
echo $anzahl
exit

config.conf:
Code:
#!/bin/sh

#Anzahl der DBs
anzahl=2;

Datei mit wget geholt
num_anzahl.txt:
Code:
anzahl=2

Wie löse ich das am besten? In sh Scripten kenn ich mich nicht so gut aus, mir liegt mehr PHP und Delphi

Gruß Olli
 
Hallo und willkommen!

Quick and dirty:
Code:
grep -v ^"anzahl=" config.conf > /tmp/config.conf
echo "anzahl=$anzahl" >> /tmp/config.conf
mv /tmp/config.conf config.conf
 
Zuletzt bearbeitet von einem Moderator:
hm, und wo wird "num_anzahl.txt" eingelesen für den neuen wert?

gruß olli
 
Ich habe dir eine Möglichkeit genannt, wie du eine Variable in einer Config-File aktualisieren kannst.
Wenn ich dich richtig verstand, dann war dies dein eigentliches Problem.
Was du mit diesem neuen Wissen anstellst liegt in deiner Verantwortung.
8)
 
ja das ist auch gut, aber die config.conf wird ganz überschrieben, deswegen meine Frage wie bekomme ich nun nur die Variable aktuallisiert und dauerhaft in der conf gespeichert, die ich geändert haben will?

gruß olli
 
Dein letzter Post zeigt mir: Du hast meinen Tipp weder verstanden noch ausprobiert.
 
bei deiner variante, wird die änderung allerdings immer and ende gestellt

variante die die struktur der config erhält(ohne garantie :P):

Code:
sed -e "/^anzahl=/s/=.*/=$anzahl/" config.conf >/tmp/conf.tmp;mv /tmp/conf.tmp config.conf
 
Dein letzter Post zeigt mir: Du hast meinen Tipp weder verstanden noch ausprobiert.
Ich habe es ausprobiert und wie geschrieben wird die ganze Config überschrieben!!!

@doc und marcellus:
Das werde ich mal ausprobieren!!!

Gruß und vielen Dank für eure Hilfe

Olli
 

Ähnliche Themen

Wie komme ich an den Inhalt des Inhalts einer Variable?

Prblem mit zeilenweises auslesen von Datei und schreiben nach mysql

Queue für copy Script

Zeilenweise suchen, löschen und ersetzen / Inhalt einfügen

Koplizierte Sache.. AWK oder SED ??

Zurück
Oben