Variablen in einer Datei durch definierte Variablen aus einer anderen Datei ersetzen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
romano
Beiträge: 2
Registriert: 08.10.2017 16:00:35

Variablen in einer Datei durch definierte Variablen aus einer anderen Datei ersetzen

Beitrag von romano » 08.10.2017 16:22:20

Hallo zusammen,

leider habe ich kaum Erfahrung im Bereich Scripting vorzuweisen und versuche nun schon seit geraumer Zeit ein (für mich) sehr komplexes Problem zu lösen. Ich habe zwei Dateien, Datei input.properties mit definierten Variablen (die aber auch / und Leerzeichen enthalten):

Code: Alles auswählen

HOSTNAME=blueberry
PATH=/tmp/.../.../
PROVIDER=provider1
Des Weiteren noch die Datei result.txt mit verschiedenen Textinhalten und zugleich Verweisen auf die Variablen:

Code: Alles auswählen

The hostname is $HOSTNAME
The provider is $PROVIDER and the path is $PATH
Nun möchte ich sämtliche Variablen in der Datei result.txt durch die die definierten Inhalte aus der input.properties ersetzen. Da es sich dabei um extrem viele Variablen handelt wäre es klasse wenn mir jemand dabei helfen könnte ein Bash Skript (oder auch Python) dafür zu schreiben.

Das Ergebnis sollte also lauten:

Code: Alles auswählen

The hostname is blueberry
The provider is provider1 and the path is /tmp/.../.../
Vielen Dank im Voraus!!!

Viele Grüße,
romano

Benutzeravatar
MSfree
Beiträge: 11605
Registriert: 25.09.2007 19:59:30

Re: Variablen in einer Datei durch definierte Variablen aus einer anderen Datei ersetzen

Beitrag von MSfree » 08.10.2017 16:33:44

In bash ist das recht einfach:

Code: Alles auswählen

. input.properties
In das Skript einbauen. Das "importiert" alles, was in "input.properties" steht, in das aktuelle Skript.

romano
Beiträge: 2
Registriert: 08.10.2017 16:00:35

Re: Variablen in einer Datei durch definierte Variablen aus einer anderen Datei ersetzen

Beitrag von romano » 08.10.2017 17:06:02

vielen Dank für die schnelle Antwort! Aber wie würde das Skript dann konkret aussehen?
Wie gesagt, habe in Scripting leider wenig bis gar keine Erfahrung :roll:

Antworten