gibts einconsolen- tool, welches ein ini-format (z.b. wie in der smb.conf) auslesen kann, ala
Code: Alles auswählen
[section1]
key1 = bla
key2 = blub
[section2]
key1 = wurst
....
Code: Alles auswählen
[section1]
key1 = bla
key2 = blub
[section2]
key1 = wurst
....
und eben das langt mir eben nicht aus. mein script soll in abhängigkeit von argumenten/parametern eben bestimmte werte aus der config auslesen. beispiel:Einfach ein Skript, das nur Variablen füllt.
Code: Alles auswählen
./meinscript.sh wks
Code: Alles auswählen
# config.ini
[wks]
kernel = 2.6.8w5
module = base ssh xorg
[backup]
kernel = 2.6.8b3
module = base drdb ssh
[game]
kernel = 2.6.8.g18
module = base xorg game nfs
Code: Alles auswählen
wks_kernel=2.6.8w5
wks_module="base ssh xorg"
vielleicht mit einem Perl OnelinerPischti hat geschrieben:ich wollte ursprünglich eigentlich nur wissen, wie man am einfachsten (und natürlich elegantesten) eine ini.datei parst
Code: Alles auswählen
gms@gms1:~$ perl -e '$param=shift; while(<>){$sec=$1 if /\[(.*)\]/;print "$1=$2\n" if /\s*(.*)\s*=\s*(.*)\s*/ && $sec eq $param}' wks config.ini
kernel =2.6.8w5
module =base ssh xorg
gms@gms1:~$ perl -e '$param=shift; while(<>){$sec=$1 if /\[(.*)\]/;print "$1=$2\n" if /\s*(.*)\s*=\s*(.*)\s*/ && $sec eq $param}' backup config.ini
kernel =2.6.8b3
module =base drdb ssh
gms@gms1:~$ perl -e '$param=shift; while(<>){$sec=$1 if /\[(.*)\]/;print "$1=$2\n" if /\s*(.*)\s*=\s*(.*)\s*/ && $sec eq $param}' game config.ini
kernel =2.6.8.g18
module =base xorg game nfs
Keine Ahnung was Pischti wirlich vorhat. Es ist daher auch durchaus möglich, daß deine generalisierende Aussage auch auf seine Situation zutrifft.nepos hat geschrieben:Wenn schon Perl, dann würde ich obiges Modul nehmen. Deutlich einfacher und sicherer als eigene Regexes zu schnitzen. Man muss ja nicht immer das Rad neu erfinden