Eu tenho 2 pastas nesta situação /ParentFolder/FolderName/Files.mp4
e /Mount/FolderName/Files.mp4
.
Em essência, qualquer coisa /ParentFolder
precisa 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 echo
na frente da rm
primeira 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_prep
e use-o chmod +x acd_prep
para torná-lo executável. Para as pastas de exemplo da pergunta, você executaria o script como acd_prep /ParentFolder /Mount
.