Am 02/16/2012 10:52 AM, schrieb Juergen Langowski:
Am Donnerstag, 16. Februar 2012, 10:38:50 schrieb Daniel Spannbauer:
Hallo,
ich habe der Datei "Beispiel". In dieser steht z..B.:
Variable1="abc def ghi"
Nun möchte ich diese Variable durch ein Script von außen um einen String ergänzen.
String ist z.B. xyz
Es soll also später in der Datei stehen:
Variable1="abc def ghi xyz"
Wie stell ich das am geschicktesten an? Ich habs schon mit sed probiert, scheitere aber kläglich wenn der Inhalt der Variable ein Leerzeichen enthält.
source Beispiel STRING="xyz" sed -e 's#Variable1=.*$#Variable1="'${Variable1}' '${STRING}'"#g' Beispiel
Sobald in Variable1 ein Leerzeichen vorkommt falle ich auf die Nase.
Jemand ne Idee wie ich das gelöst bekommen kann?
Gruß
Daniel
Versuch's mal so:
#!/bin/sh
var1="abc def" echo "$var1"
var1="$var1 ghi" echo "$var1"
Das geht, das ist klar. Abe rich hab in der Datei mehrere solche Zeilen. Ein einfach "echo $var1 > Datei" scheidet also aus. Es stehen auch noch Kommentare in der Datei, die ich unangetastet lassen möchte. Ich könnte das ganze auch mit nem gawk-Script erschlagen. Ich hatte aber gehofft, das ganze durch nen schlanken Einzeiler zu lösen. Gruß Daniel -- Daniel Spannbauer Software Entwicklung marco Systemanalyse und Entwicklung GmbH Tel +49 8333 9233-27 Fax -11 Rechbergstr. 4 - 6, D 87727 Babenhausen Mobil +49 171 4033220 http://www.marco.de/ Email ds@marco.de Geschäftsführer Martin Reuter HRB 171775 Amtsgericht München -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org