Exclua as pastas que correspondem ao nome em um caminho diferente

Exclua as pastas que correspondem ao nome em um caminho diferente

Eu tenho 2 pastas nesta situação /ParentFolder/FolderName/Files.mp4e /Mount/FolderName/Files.mp4.

Em essência, qualquer coisa /ParentFolderprecisa substituir quaisquer pastas com o mesmo nome no arquivo /mount. Eu tenho que usar ACDCLI para a cópia real, então preciso removê-los primeiro chamando qualquer nome de pasta /ParentFolder/*erm -rf /mount/"FolderName"

Se fosse uma pasta fácil, mas não sei como dizer, obtenha todos os nomes de pastas de X e exclua se existirem em Y.

Responder1

O script bash a seguir deve fazer o que você descreve. Você pode querer colocar um echona frente da rmprimeira vez que executá-lo, apenas para ter certeza de que ele fará o que você espera.

#!/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

Nomeie o script com algo apropriado acd_prepe use-o chmod +x acd_preppara torná-lo executável. Para as pastas de exemplo da pergunta, você executaria o script como acd_prep /ParentFolder /Mount.

informação relacionada