我在变量中有结果,我需要每一行都有一个新变量。所以有几次相同。
我之间有变量$results
行。我希望每一行都有一个新的变量。我希望它好多了。
Input from $results:
Found1
Found2
Found3
Found4
Found5
etc...
Output:
w1 Found1
w2 Found1
w3 Found1
w4 Found1
w5 Found1
w1 Found2
w2 Found2
w3 Found2
w4 Found2
w5 Found2
w1 Found3
w2 Found3
w3 Found3
w4 Found3
w5 Found3
>
zahl=$(echo "$results" | wc -l)
if [ "$zahl" -ge "5" ];then
echo "over 5";
exit 1
else
for z in $results
do
w1=$(echo $z | cut -d" " -f1)
w2=$(echo $z | cut -d" " -f2)
w3=$(echo $z | cut -d" " -f3)
w4=$(echo $z | cut -d" " -f4)
w5=$(echo $z | cut -d" " -f5)
echo "$w1"
echo "$w2"
echo "$w3"
echo "$w4"
echo "$w5"
done
fi
答案 0 :(得分:0)
zahl=$(echo "$results" | wc -l)
if [ "$zahl" -gt "5" ];then
echo "over 5";
exit 1
else
for v in w1 w2 w3 w4 w5; do
IFS= read -r "$v" || { unset "$v"; break; }
done <<< "$results"
fi
如果仅有3行输入,则不会设置w4
和w5
。
答案 1 :(得分:-1)
我在这里伸展,但我认为你想要的是这样的:
onSaveInstanceState
这会将i=1
for z in $results; do
eval "w$i=\"\$z\""
((i++))
done
echo "$w1"
echo "$w2"
echo "$w3"
echo "$w4"
echo "$w5"
设置为w1
,将Found1
设置为w2
等。