copiar arquivos de um diretório para outro em loop

-1

Eu não sou um especialista em bash. Eu preciso escrever um script para copiar o arquivo mais recente (por data) de uma pasta para outra como segue

de

/test/a/date1.bak
/test/a/date2.bak
/test/a/date3.bak 
/test/b/date1.bak
/test/b/date2.bak
/test/b/date3.bak

para

/test/a/sec/date1.bak
/test/b/sec/date1.bak

Na segunda etapa, preciso excluir o arquivo mais antigo por data no diretório de destino

de

/test/a/sec/date1.bak
/test/a/sec/date2.bak
/test/b/sec/date1.bak
/test/b/sec/date2.bak

para

/test/a/sec/date1.bak
/test/b/sec/date1.bak
user199857
fonte
2
Bem vindo ao SU! Nós não somos um serviço de escrita de scripts. O que você tem até agora e exatamente onde você está preso?
Ƭᴇcʜιᴇ007
Eu posso copiar e excluir um por um cp $ (ls -1t | head -1) / teste / a / secure / Mas eu gostaria de fazê-lo de forma recursiva
user199857
Por favor, mostre-nos o formato de data atual que você está usando. Você deseja extrair (analisar) a data do nome do arquivo ou deseja usar a hora de modificação do arquivo?
terdon

Respostas:

0

OK, entendi. Terdon eu preciso usar data de modificação de arquivos. Aqui o que eu fiz para a cópia do arquivo:

para BDIR em ls -1 .; do TO_BACK = $ (ls -t $ BDIR | grep ".bak $" | cabeça -1); if ["$ TO_BACK"]; em seguida, copie "copy $ BDIR / $ TO_BACK para $ BDIR / sec / $ TO_BACK"; fi; feito

user199857
fonte