ファイルをサブディレクトリから現在のレベルに移動し、ファイルが存在する場合は名前を変更します。

ファイルをサブディレクトリから現在のレベルに移動し、ファイルが存在する場合は名前を変更します。

私はMacを使用しているので、mvは少し異なり、その--backupプロパティをサポートしていません。私が思いつく最善の方法は次のとおりです。

find . -mindepth 2 -type f -print -exec mv {} . \;     

ベストアンサー1

いくつかのスクリプトを書く必要があります。それは次のとおりです。

find . -mindepth 2 -type f -print | while read x; do
    y=$(basename "$x")
    if [ -f "$y" ]; then
        mv "$y" "$y".backup
    fi
    mv "$x" "$y"
done

おすすめ記事