IF文の使用に問題があります。
ディレクトリがスクリプトに渡され、そのディレクトリ(サブフォルダの数に関係なく)にはファイルが含まれます。.txt
最終的な.tmp
目標は、.tmp
すべてのファイルをあるフォルダにコピーし、.txt
ファイルを別のフォルダにコピーすることです。
現在、以下があります。
shopt -s nullglob
if [[ -n $(echo *.txt) ]]; then
elif [[ -n $(echo *.tmp) ]]; then
else
echo "nothing Found"
fi
ただし、サブディレクトリは確認されません。何か抜けたものはありますか?
ベストアンサー1
次のコマンドを使用する必要がありますfind
。
find "$start_dir" -type f -name '*.txt' -exec cp -t "$txt_destination" '{}' +
find "$start_dir" -type f -name '*.tmp' -exec cp -t "$tmp_destination" '{}' +