- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:bashで配列から、特定の要素を抽出する。)
Bashで配列から特定の要素を抽出する方法
このQ&Aのポイント
- bashで配列から特定の要素を抽出する方法について解説します。
- 具体的な例を挙げながら、特定の文字列の間の要素だけを取り出して別の配列に入れる方法を説明します。
- この方法を使えば、目的の要素だけを抽出して取り出すことができます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
そのまま答えても勉強にならないでしょうし (全部書くのが面倒だと言ううわさも) ヒントだけ書きます。 考えてわからない場合には、具体的にどこがわからないかを 書いて質問してみてください。 #!/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
その他の回答 (1)
- pakuti
- ベストアンサー率50% (317/631)
回答No.1
具体的に・・・の後の There is a cat Who are you? の抽出条件が不明です。 抽出条件をif文で書けばいけそうですが
質問者
補足
失礼しました。 抽出条件は、特定の文字列です。 今回の例なら、 There is a cat と Who are you? なんですが、その間に任意の数の要素がある場合に その間の要素もすべて抽出したいです。 具体的には echo ${array[0]} This is a pen. echo ${array[1]} XXX echo ${array[2]} "任意の文字列" echo ${array[3]} ZZZ ・ ・ ・ のとき、XXXとZZZを目印として その間の文字列を抽出するという処理です。 XXX、ZZZが何番目の要素かは任意で、 かつ、XXX、ZZZの間の要素数も任意です。
補足
なんとか完成しました。 助言ありがとうございます。