フォルダとサブフォルダにIfステートメントを使用する[閉じる]

フォルダとサブフォルダにIfステートメントを使用する[閉じる]

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" '{}' +

おすすめ記事