Prezados Alurianos, BOA NOITE !!!
Após ver as aulas desse tópico, parti para uma experiência com uma dificuldade que sempre tive. Vou expor o problema e pedir a ajuda dos amigos.
Tenho uma hierarquia de pastas com ANO MES e DIA ( /pastaX/2022/05/01; /pastaX/2022/05/02... /pastaX/2022/05/31), dentro de cada pasta DIA tenho arquivos com formatos PDF, identificados de forma única com um ID.
Tenho diversos arquivos em cada pasta, porém apenas alguns são necessários, e tenho uma listagem [listaPDF.CSV] dizendo quais são esses arquivos (um ID por linha). Exemplo, numa pasta pode ter 100 arquivos, mas só preciso de especificamente 28 deles, e esses 28 estão no CSV.
Problemas que tenho: Fazer a 'varredura' de cada pasta DIA, comparar se em uma pasta existem arquivos da lista CSV, se existirem PDFs conforme a lista então executar uma COPIA dos arquivos para uma nova pasta [/pastaX/arquivos_copiados/].
Fiz conforme abaixo mas não funcionou:
#!/bin/bash
copia_pdf(){
local caminho_imagem=$1
find . -maxdepth 1 -type f | xargs cp -t /pastaX/arquivos_copiados/;
}
varrer_diretorio(){
cd $1
for arquivo in *.pdf
do
local caminho_arquivo=$(find /pastaX/2018/ -name $arquivo)
if [ -d $caminho_arquivo ]
then
varrer_diretorio $caminho_arquivo
else
copia_pdf $caminho_arquivo
fi
done < /pastaX/2018/listapdf2018.csv
}
varrer_diretorio ~/pastaX/2018/
copia_pdf 2> /pastaX//2018/erros_copia_2018.txt
if [ $? -eq 0 ]
then
echo "Copia feita com sucesso"
else
echo "Houve um problema na copia"
fi
Quem poderia caridosamente ajudar-me nessa dúvida ?