bashで配列から、特定の要素を抽出する

OKWave 2007年10月23日 14時00分

  • このエントリーをはてなブックマークに追加
bashで配列から、特定の要素を抽出する。

echo ${array[0]}
This is a pen.
echo ${array[1]}
There is a cat.
echo ${array[2]}
Who are you?
echo ${array[3]}
Can I help you?

などと、要素数は任意で
各要素に任意の文章が入っている
配列があるとき、
特定の文字列の間の要素のみを取り出して
別の配列に入れるという処理をbashで行いたいです。

具体的に、上記の例ですと
要素1と要素2だけを抽出し
新たな配列 newarrayに入れ


echo ${newarray[0]}
There is a cat.
echo ${newarray[1]}
Who are you?

としたいです。

どのように処理したらよろしいでしょうか?
よろしければ、知恵をお貸し願えたらと思います。

良回答

そのまま答えても勉強にならないでしょうし
(全部書くのが面倒だと言ううわさも)
ヒントだけ書きます。

考えてわからない場合には、具体的にどこがわからないかを
書いて質問してみてください。


#!/bin/sh

array[0]=abc
array[1]=def
array[2]=ghi
array[3]=jkl
array[4]=mno
array[5]=pqr
array[6]=stu

i=0

for num in ${array[@]};do

/bin/echo ${num}
/bin/echo $i

i=$((i + 1))

done
  • このエントリーをはてなブックマークに追加
関連キーワード
OS

SpecialPR

  • ビジネスの継続的な成長を促す新たなITのビジョン

    多くの企業においてITに求められる役割が、「守り」のコスト削減から「攻め」のビジネス貢献へとシフトしつつある。その中でIBMが提唱する新たなビジョンEnterprise Hybrid ITとは?

  • デジタル変革か?ゲームセットか?

    デジタルを駆使する破壊的なプレーヤーの出現、既存のビジネスモデルで競争力を持つプレイヤーはデジタル活用による変革が迫られている。これを読めばデジタル変革の全体像がわかる!