文字列の 2 つの大きな配列があります (それぞれに ~90000 個の要素があります)。
コマンドで作成しますset -A
。そして、最初の配列のどの文字列が2番目の文字列と同じでないかを把握する必要があります。
私のコード:
for i in {0..${#hard_drive_files[*]}}; do
has_reference=false
for j in {0..${#files_in_db[*]}}; do
if [[ ${files_in_db[j]} == ${hard_drive_files[i]} ]]; then
has_reference=true
break
fi
done
if [[ $has_reference == false ]]; then
echo "${hard_drive_files[i]}"
fi
done
コードのこの部分は、大量のメモリを「消費」します。
実行終了時の使用メモリ値は ~80000 MB
です コードのこの部分の後、いくつかのファイルをアーカイブしようとしましたcannot fork [Cannot allocate memory]
が、そのような問題の解決策はありますか?
PS kshVersion=Version AJM 93t+ 2010-02-02
RAM メモリの使用量を把握するには、次のように実行します。free -m