Inhalte aus Datei lesen und in Variablen speichern [gelöst]

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Transmitter
Beiträge: 262
Registriert: 21.01.2005 15:17:06

Inhalte aus Datei lesen und in Variablen speichern [gelöst]

Beitrag von Transmitter » 05.09.2006 15:44:29

Wahrscheinlich stehe ich nur irgendwie auf dem Schlauch.

Ich versuche aus einer Datei die so aufgebaut ist:

Zeile1
Zeile2
Zeile3

Diese 3 Zeilen auszulesen und in Variablen zu speichern, nur scheitert es schon an der ersten Zeile: Wie kann ich denn so etwas mit einem Shell Skript lösen?
Von mir aus könnte ich die Zeilen sogar mit einem Semikolon trennen, wenn das einfacher wäre, aber wie gesagt: Ich bekomme schon das einfachste nicht hin :(

Danke schon mal.
Bye, Transmitter
Zuletzt geändert von Transmitter am 11.09.2006 12:21:34, insgesamt 1-mal geändert.

tobreh
Beiträge: 32
Registriert: 09.04.2003 08:21:26

Beitrag von tobreh » 05.09.2006 16:45:48

Hallo. Billige Lösung, ungetestet:

Code: Alles auswählen

#!/bin/bash
# -- lese_drei_zeilen.bash
FILE="$1"

ZEILE1="`sed -n 1p $FILE`"
ZEILE2="`sed -n 2p $FILE`"
ZEILE3="`sed -n 3p $FILE`"

export ZEILE1 ZEILE2 ZEILE3
Exportiert dir die ersten 3 Zeilen in Umgebungsvariablen.

Gruß, Tobias

Transmitter
Beiträge: 262
Registriert: 21.01.2005 15:17:06

Beitrag von Transmitter » 05.09.2006 17:23:18

Intern kann ich jetzt mit $ZEILE1 weiter arbeiten (z.B. in ein andere Datei schreiben) aber ich kann nach dem Beendes des Skriptes nicht mehr mit echo $ZEILE1 auf den Inhalt zugreifen. Liegt das an dem Gültigkeitsbereich des Skriptes?

Methusalix

Inhalte aus Datei auslesen und in Variablen speichern

Beitrag von Methusalix » 06.09.2006 00:21:04

Hallo,

ich vermute mal, das ich deine Motive vielleicht nicht so richtig verstehe. Aber wenn die
Variablenwerte in einer Datei stehen, dann kannst du die danach auch auslesen...

Code: Alles auswählen

matthias@debbi:~/scripte$ cat versuch
#!/bin/bash
Zeile1
Zeile2
Zeile3
matthias@debbi:~/scripte$ gesucht=`cat versuch | sed -n 2p`
matthias@debbi:~/scripte$ echo $gesucht
Zeile1
matthias@debbi:~/scripte$ auchgesucht=`cat versuch | sed -n 3p`
matthias@debbi:~/scripte$ echo $auchgesucht
Zeile2
matthias@debbi:~/scripte$
...und weiterverarbeiten. Oder hast du etwas anderes im Sinn?

Gruß
Matthias

Transmitter
Beiträge: 262
Registriert: 21.01.2005 15:17:06

Beitrag von Transmitter » 11.09.2006 12:20:58

Ok, dann war es schon richtig, dachte nur, ich kann direkt aus dem Skript heraus Variablen setzen und nach Ausführung des Skriptes auch von einer beliebigen Konsole drauf zugreifen.
Jetzt habe ich alles aus dem Skript heraus gemacht, das funktioniert auch.
Zum Debuggen habe ich Variablen in eine Text Datei geschrieben. :)

Antworten