シェルスクリプトで配列をループして条件に合った要素のみで新しい配列を作成する方法について説明します。以下は一般的なBashシェルスクリプトの例です。
このスクリプトは、既存の配列をループして条件に合致する要素のみを新しい配列に追加します。例えば、特定の条件(この例では数値が5より大きいかどうか)を満たす要素のみを選択します。
#!/bin/bash
# 既存の配列
original_array=(1 2 3 4 5 6 7 8 9 10)
# 新しい配列を初期化
new_array=()
# 既存の配列をループ
for i in "${original_array[@]}"; do
# 条件を満たす場合のみ新しい配列に追加
if [ "$i" -gt 5 ]; then
new_array+=("$i")
fi
done
# 新しい配列を表示
echo "新しい配列: ${new_array[@]}"
このスクリプトは、original_array
の各要素をループし、それが5より大きい場合にのみnew_array
に追加します。最後に、new_array
の内容を表示します。
条件を変更することで、異なる種類のフィルタリングを実行できます。例えば、文字列が特定のパターンに一致するかどうかを確認したり、数値が特定の範囲内にあるかどうかを確認することができます。
この例では、数値の比較を行っていますが、文字列の比較や他の複雑な条件を用いることも可能です。条件を変えることで、さまざまなシナリオに応じた配列の再構築が可能になります。