Hallo, ein typisches Problem für einen Hash bzw. assoziatives Array, in Perl sieht das in etwa so aus: #!/usr/bin/perl %hash = (); while (<>) { chop; @line = split(/\s+/, $_); $hash{$line[0]} = $line[1]; } foreach $key (sort keys %hash) { print "$key:$hash{$key}\n"; } Wenn Du das nach test.pl schreibst und Deine Daten in data.txt, dann wie folgt aufrufen: perl test.pl data.txt in die foreach-Schleife müsste dann das einfließen was Du mit den Daten anstellen willst, im Moment gibt Perl die Daten nur wieder auf STDOUT aus!! Sehr ähnlich geht das auch mit awk! Grüße Mike Am Freitag, 26. November 2010 17:20:21 schrieb C.M. Burns:
Hallo zusammen,
ich bastele gerade an einem kleinen Skript und habe eine Frage zu dynamischen Variablen.
Vorweg die Ausgangslage. Ich habe eine LIste als Textfile vorliegen im Format
name-1 hans name-2 theo produkt-1 auto attribut-3 schoen ...
Jede Zeile kann also unterschiedlich beginnen und das File kann quasi beliebig lang sein.
Ich möchte in einem Bash Skript nun dieses File so einlesen, dass die Variablennamen sich an Spalte eins aus dem Textfile orientieren. Um bei diesem Beispiel zu bleiben sähen die Variablen also wie folgt aus:
name-1="hans" name-2="theo" produkt-1="auto" attribut-3="schoen"
Ferner möchte ich darüber dann ein case statement laufen lassen der Form: case $INHALT in $name-1|$name-2|$produkt-1|$attribut-3) ...
Hat jemand eine Idee wie man das elegant in Bash lösen kann?
Danke und Grüße Stefan
-- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org