다른 경로의 이름과 일치하는 폴더 삭제

다른 경로의 이름과 일치하는 폴더 삭제

/ParentFolder/FolderName/Files.mp4이 상황 에서는 2개의 폴더가 있고 /Mount/FolderName/Files.mp4.

본질적으로 의 모든 항목은 /ParentFolder에서 동일한 이름을 가진 폴더를 바꿔야 합니다 /mount. 실제 복사본에는 ACDCLI를 사용해야 하므로 먼저 /ParentFolder/*및 에서 폴더 이름을 호출하여 이를 제거해야 합니다.rm -rf /mount/"FolderName"

하나의 폴더인 경우 쉽지만 어떻게 말해야 할지 모르겠습니다. 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_prep하고 chmod +x acd_prep실행 가능하게 만드는 데 사용하십시오. 질문의 예제 폴더에 대해 스크립트를 acd_prep /ParentFolder /Mount.

관련 정보