Variablen einer Zeile paarweise ausgeben

08/05/2011 - 18:50 von Helmut Schneider | Report spam
Hi,

wie kann ich die Werte einer Zeile paarweise ausgeben?

#!/bin/sh
VAR="a b c d e f g 1 h 2 3 i jot 42"
a=0
for i in $VAR; do
if [ $a -eq 0 ]; then
j=$i
a=$(expr $a + 1)
else
j="$j $i"
echo $j
a=0
fi
done

Geht das auch eleganter (ohne Bashismen)?

Danke und Gruß, Helmut
 

Lesen sie die antworten

#1 Joerg Mertens
08/05/2011 - 19:53 | Warnen spam
"Helmut Schneider" writes:

wie kann ich die Werte einer Zeile paarweise ausgeben?

#!/bin/sh
VAR="a b c d e f g 1 h 2 3 i jot 42"
a=0
for i in $VAR; do
if [ $a -eq 0 ]; then
j=$i
a=$(expr $a + 1)
else
j="$j $i"
echo $j
a=0
fi
done

Geht das auch eleganter (ohne Bashismen)?



Weiß nicht, ob's wesentlich eleganter ist:

while [ "$VAR" != "" ]; do read a b rest <<EOF; echo $a $b; VAR="$rest"; done
$VAR
EOF

Dabei wird VAR natürlich veràndert, falls das eine Rolle spielt.

Jörg

Ähnliche fragen