for-Schleife für Liste mit mehreren Parametern

09/11/2007 - 23:00 von Thomas Wiedmann | Report spam
Hallo,

wie kann man beim Auslesen/Verarbeiten einer Liste, deren Elemente aus
mehreren Teilen besteht, diese Teile innerhalb einer for-Schleife einzeln
referenzieren bzw. verarbeiten?
Als Beispiel folgendes Muster, wobei jedes Listenelement der Liste $MYLIST
aus 2 Teilen besteht, die durch ein Leerzeichen getrennt sind:

#
MYLIST="elem1part1 elem1part2
elem2part1 elem2part2
elem3part1 elem3part2
elem4part1 elem4part2"

for i in $MYLIST; do
...
done
#

Innerhalb der for-Schleife möche ich pro Durchlauf i, also für jedes
Listenelement "elemxpart1 elemxpart2" die einzelnen Teile elemxpart1 und
elemxpart2 getrennt verarbeiten, sagen wir mal mit echo in einer separaten
Zeile ausgeben.

Wie müßte die for-Schleife aussehen?
Wie müßte die for-Schleife aussehen, wenn das Trennzeichen der Teile jedes
Listenelements nicht ein Leerzeichen, sondern ein Komma ist, also
elemxpart1,elemxpart2?

Danke für alle guten Tips.

Thomas Wiedmann
 

Lesen sie die antworten

#1 Cyrus Kriticos
09/11/2007 - 23:14 | Warnen spam
Thomas Wiedmann wrote:
Hallo,

wie kann man beim Auslesen/Verarbeiten einer Liste, deren Elemente aus
mehreren Teilen besteht, diese Teile innerhalb einer for-Schleife
einzeln referenzieren bzw. verarbeiten?
Als Beispiel folgendes Muster, wobei jedes Listenelement der Liste
$MYLIST aus 2 Teilen besteht, die durch ein Leerzeichen getrennt sind:

#
MYLIST="elem1part1 elem1part2
elem2part1 elem2part2
elem3part1 elem3part2
elem4part1 elem4part2"

for i in $MYLIST; do
...
done
#

Innerhalb der for-Schleife möche ich pro Durchlauf i, also für jedes
Listenelement "elemxpart1 elemxpart2" die einzelnen Teile elemxpart1
und elemxpart2 getrennt verarbeiten, sagen wir mal mit echo in einer
separaten Zeile ausgeben.

Wie müßte die for-Schleife aussehen?
Wie müßte die for-Schleife aussehen, wenn das Trennzeichen der Teile
jedes Listenelements nicht ein Leerzeichen, sondern ein Komma ist, also
elemxpart1,elemxpart2?



Etwas in der Art?

cut here
#!/bin/bash

MYLIST="elem1part1 elem1part2
elem2part1 elem2part2
elem3part1 elem3part2
elem4part1 elem4part2"

echo "$MYLIST" | while read e1 e2
do
echo "$e1 $e2"
done
cut here

Best regards | Be nice to America or they'll bring democracy to
Cyrus | your country.

Ähnliche fragen