Eintrag an bestimmten Stellen hinzufügen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Marcus
Beiträge: 129
Registriert: 17.02.2003 09:33:56
Wohnort: Zürich
Kontaktdaten:

Eintrag an bestimmten Stellen hinzufügen

Beitrag von Marcus » 14.05.2009 12:23:32

Hallo zusammen,

ich habe eine Konfigurationsdatei die nach folgendem Muster aufgebaut ist:

Code: Alles auswählen

[Definition1]
Parameter=abc
....

[Definition2]
Parameter=abc
....
Und möchte nun per Shell Script unter den jeweiligen Definitionen weitere Parameter einfügen und zwar abhängig von der Definitionsbeschreibung.

Die Datei soll nachher dann z.B. so aussehen:

Code: Alles auswählen

[Definition1]
Parameter=abc
Parameter2=def
....

[Definition2]
Parameter=abc
Parameter2=ghi
....
Hat jemand von euch eine Idee wie ich das machen könnte?

Viele Grüße
Marcus
GNU/Linux.ch - Linux News in Deutsch

Benutzeravatar
hikaru
Moderator
Beiträge: 13934
Registriert: 09.04.2008 12:48:59

Re: Eintrag an bestimmten Stellen hinzufügen

Beitrag von hikaru » 14.05.2009 13:31:51

Was du da hast sind ini-Files. In Perl sollten die sich sehr einfach mit Hilfe von Debianlibconfig-tiny-perl bearbeiten lassen.

Selbst getestet habe ich es nicht, aber die Dokumentation dazu sieht nicht sonderlich kompliziert aus:
http://search.cpan.org/~adamk/Config-Ti ... ig/Tiny.pm

Reine bash-Lösungen gibt es wohl auch, aber die scheinen etwas halbgar zu sein:
http://ajdiaz.wordpress.com/2008/02/09/bash-ini-parser/

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Eintrag an bestimmten Stellen hinzufügen

Beitrag von rendegast » 14.05.2009 16:20:39

ein conf.d/ mit
conf.d/Definition1.ini
conf.d/Definition2.ini
...
die dann eingelesen werden, ala php oder mysql,

Code: Alles auswählen

source  Pfad/conf.d/*.ini
oder nach Bearbeitung zusammengeschrieben, ala exim4:

Code: Alles auswählen

cat   Pfad/conf.d/*.ini  >  Pfad/Definition.conf
Dienst/Programm restart
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Antworten