0
배열에 문자열 수가 많아서 각 문자열에 대해 몇 가지 작업을 수행하려고합니다. 나는 간단한 루프가 작동 할 것이라고 생각 했겠지만 심각한 문제를 일으키고있다. :bash 배열을 반복 할 때 bash 배열을 어떻게 동작시킬 수 있습니까?
for list in $valarr
do
for word in ${valarr[j]}
do
#echo word: $word
if [ $i -ge $f ] && [ $i -le $t ]; then
echo -e -n "$word\t"
fi
i=`expr $i + 1`
done
echo $j ${#valarr[@]}
i=0
j=`expr $j + 1`
done
위에서 알 수 있듯이 두 개의 루프가있다. 내부에 중첩 된 하나가 필요한 작업을 수행하지만 잘 작동합니다. 그러나 for-loop 외부 요소는 요소의 수는 이며 첫 번째 요소 (문자열)의 단어 수는입니다.
for each string in an array:
for each word in the string:
do some work
done
done
왜 bash는이 같은 행동 않습니다 어떻게 내가해야 할 일을 수행 할 수 있습니다 구조적으로 내가 정말하고 싶은 모든이 같은 것입니다? (사과, 도중에, 또는 선명도 포맷 어떤 문제) 이와 같은 배열을
감사합니다. 힙, 마크. 지금은 훨씬 잘 작동합니다. :) – user1419715