異なるパスで名前が一致するフォルダを削除する

異なるパスで名前が一致するフォルダを削除する

この状況では2 つのフォルダーがあり/ParentFolder/FolderName/Files.mp4/Mount/FolderName/Files.mp4

本質的には、 のものは/ParentFolderの同じ名前のフォルダを置き換える必要があります/mount。実際のコピーにはACDCLIを使用する必要があるため、 から任意のフォルダ名を呼び出して、まずこれらを削除する必要があります/ParentFolder/*rm -rf /mount/"FolderName"

フォルダーが 1 つだけであれば簡単ですが、どのように言えばよいかわかりません。X からすべてのフォルダー名を取得し、Y に存在する場合は削除します。

答え1

次の bash スクリプトは、説明どおりに動作するはずです。最初に実行するときに、期待どおりに動作することを確認するために、echoの前にを付けるとよいかもしれません。rm

#!/bin/bash

if test -d "$1"
then
    from="$1"
else
    echo "could not find source directory \`$1'" >&2
    exit 1
fi

if test -d "$2"
then
    to="$2"
else
    echo "could not find destination directory \`$2'" >&2
    exit 1
fi

for fromdir in "${from}"/*/
do
    todir="${to}${fromdir#"${from}"}"
    if test -d "${todir}"
    then
        rm -rf "${todir}"
    fi
done

スクリプトに などの適切な名前を付けてacd_prepchmod +x acd_prep実行可能にします。質問のサンプル フォルダーの場合は、 としてスクリプトを実行しますacd_prep /ParentFolder /Mount

関連情報