Jede Zeile einer Daten einer Variablen zuweisen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
truehl
Beiträge: 18
Registriert: 04.12.2010 12:29:36

Jede Zeile einer Daten einer Variablen zuweisen

Beitrag von truehl » 11.12.2011 20:54:06

Hallo,
folgendes Problem: Ich möchte jede Zeiler einer Datei einer Variablen zuordnen. Die Anzahl der Zeilen der Datei is unterschiedlich und könnte so aussehen:
test.txt:
Butter
Eier
Käse
Milch

Die einzelnen Zeilen der Datei sollen einzeilnen Variablen zugeordnet werden:
VAR1=Butter
VAR2=Eier
VAR3=Käse
VAR4=Milch

Hat einer von Euch eine Idee?

Benutzeravatar
Meillo
Moderator
Beiträge: 9241
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Jede Zeile einer Daten einer Variablen zuweisen

Beitrag von Meillo » 11.12.2011 21:29:25

Code: Alles auswählen

eval `<test.txt awk '{ print "var"NR"=\""$0"\"" }'`
btw: eigene Shellvariablen besser in Kleinbuchstaben.
Use ed once in a while!

truehl
Beiträge: 18
Registriert: 04.12.2010 12:29:36

Re: Jede Zeile einer Daten einer Variablen zuweisen

Beitrag von truehl » 11.12.2011 22:11:26

Super, dass funktioniert!!!

Jetzt noch ein Stück weiter: Ich habe folgende Herausforderung:

Ich möchte die Ausgabe von "blkid" in Variablen schreiben. Die Ausgeabe sieht z.B. so aus:

Code: Alles auswählen

blkid
/dev/sda5: UUID="1D0B-1CAD" TYPE="vfat"
/dev/sdb1: LABEL="rootfs" UUID="2fedc608-fc5d-42c4-920c-b3182837deba" TYPE="ext3"
/dev/sdb2: LABEL="swap" UUID="60cd1c93-712e-4150-8488-6cdedcc9906a" TYPE="swap"
Mein Ziel ist nun, die einzelnen Informationen in Variablen zu speichern. Dabei soll z.B. die Device-Information (/dev/sdb1 ...) in eine Variable geschrieben werden: media1_dev, media2_dev ...

Die anderen Informationen sollen ebenfalls zugeordet werden: media1_uuid ..., media1_type ...., media1_label ...

Die Anzahl der Zeilen kann unterschiedlich sein. Nicht jeder Eintrag besitzt einen Eintrag LABEL.

Ich hoffe, ich konnte mein Problem verständlich darstellen?!

Antworten