1

コロンで区切られた文字列を配列に分割したい。今のように文字列を持っている各ループをONE:TWO:THREE配列に分割して、次のようにアクセスできるようにするにはどうすればよいstring[1] //ONE, string[2] //TWO, string[3] //THREEですか?

これは、配列の内容で使用するループです。

WORDS=(ONE:TWO:THREE FIVE:FOUR:THREE)
for i in ${WORDS[@]} ; do
   [..]
done
4

1 に答える 1

4

次のようにする必要があります。

IFS=':' read -a arr <<< "$i"

この後、次のことがわかります。

echo ${#arr}   # <-- 3

したがって、コードは次のようになります。

for word in "${WORDS[@]}"; do
  IFS=':' read -a arr <<< "$word"

  for part in "${arr[@]}"; do
    # do something with the word  
  done
done
于 2013-09-13T12:59:19.483 に答える