1
I would like to copy a folder structure already renaming the files to their destination by placing in front of the name a text previously informed by the user.
But I’m having trouble copying renamed files.
In the script I am running a rsync
. I’d like to execute a find
to list and copy the structure and files by creating an array, with this could manipulate the destination individually within a loop for
or while
.
Below follows the folder structure and the script.
Source folders and files:
Template
00 - Criação
Arq de Criação.docx
Arq de Informações.docx
01 - Iniciação
Arq de Iniciação.docx
Arq de Coleta.docx
02 - Planejamento
Arq de Planejamento.docx
Arq de Informações.docx
03 - Execução
Arq de Cronograma.docx
Arq de Mudança.docx
04 - Controle
Arq de Entrega Parcial.docx
05 - Encerramento
Arq de AS Bult.docx
Arq de Encerramento.docx
Destination folders and files:
P20190103.0001 - Estrutura nova cliente
00 - Criação
P20190103.0001 - Arq de Criação.docx
P20190103.0001 - Arq de Informações.docx
01 - Iniciação
P20190103.0001 - Arq de Iniciação.docx
P20190103.0001 - Arq de Coleta.docx
02 - Planejamento
P20190103.0001 - Arq de Planejamento.docx
P20190103.0001 - Arq de Informações.docx
03 - Execução
P20190103.0001 - Arq de Cronograma.docx
P20190103.0001 - Arq de Mudança.docx
04 - Controle
P20190103.0001 - Arq de Entrega Parcial.docx
05 - Encerramento
P20190103.0001 - Arq de AS Bult.docx
P20190103.0001 - Arq de Encerramento.docx
The code P20190103.0001
is variable and inserted by the user in the execution of the script.
#!/bin/bash
clear
LOCALMOUNTPOINT="/Volumes/Server01"
if mount | grep "on $LOCALMOUNTPOINT" > /dev/null; then
echo ""
echo ""
echo ""
echo " Verificando se o volume esta montado.... OK"
echo ""
echo ""
echo ""
echo " Informe o nome do projeto...: "
read PROJETO
FULLPATHSRC="/Users/xxx/Downloads/Templates/"
FULLPATHDST="/Users/xxx/Downloads/teste/"$PROJETO"/"
echo " Criando estrutura do projeto: " $FULLPATHDST
if [ -d "$FULLPATHDST" ]
then
echo ""
echo ""
echo " ERROR "
echo " ------- "
echo ""
echo "Diretório de destino já existe...:"
echo " ---> $FULLPATHDST <---"
echo ""
echo ""
echo ""
else
mkdir "$FULLPATHDST" > /dev/null;
rsync -av --progress "$FULLPATHSRC" "$FULLPATHDST"
fi
else
echo ""
echo ""
echo " ERROR "
echo " ------- "
echo ""
echo " Conecte-se ao servidor "Server01.dominio.local/Clientes""
echo ""
echo " .....O volume não esta montado..... "
echo ""
echo ""
echo ""
fi