
bash
定義されたサイズの配列にメモリを事前割り当てできますか?declare -a arr
配列に文字列を繰り返し追加しています(arr+=("$str")
。
答え1
いいえ、では不可能ですbash
。
スクリプトを高速化するには、プログラムの流れとロジックをもう一度考えてみてください。これは非常に変数や配列から大量のデータを読み取る必要はほとんどありません。
ほとんどのUnixツールは、大量の初期データまたは中間データをメモリに保存せずに(通常は一度にファイルに1行だけ)、パイプラインの1つのステップから次のステップにデータを送信できるようにするフィルタです。データセットを変数として読み込んだ後、シェルで操作することは一般的ではありません。より一般的な方法は、データに変換を実行してデータの一部を集計することです。
複数の単語を含むシェル変数を処理する場合は、おそらくより効率的な方法があります。