rsync
Com o rsync, deve ser bastante fácil de fazer, embora não seja completo.
Assumindo que ./new_Main_Directory
exista, caso contrário, mkdir ./new_Main_Directory
rsync -a --include '*/' --include '*.mcp' --exclude '*' Main_Directory/ new_Main_Directory/
Isso copia apenas os arquivos * .mcp e a estrutura de diretórios em que eles se encontram.
Você sempre pode testar os comandos rsync
com a opção --dry-run
.
Fonte: link
cp
Se você quiser usar o cp, você pode tentar algo como o seguinte.
for d in ./*/; do
set -- "$d/"*.mcp
if [ -e "$1" ]; then
# there is at least one .mcp file in $d
cp -rp -- "$d" ./new_Main_Directory/
fi
done
Fonte: Localizar e copiar diretórios contendo tipo de arquivo