lcavalheiro
(usa Slackware)
Enviado em 27/12/2012 - 12:25h
jvis escreveu:
Bom dia pessoal!!!
Estou com um pepino aqui na empresa.
Não entendo nada de shell script então estou começando agora.......
Bom... o que preciso fazer é desenvolver um script que entre em determinadas pastas (mais ou menos 80 pastas), e dentro destas pastas tem mais pastas separadas por dias da semana (por exemplo 21-12-2012, 22-12-2012...), dentro destas pastas estão os arquivos que preciso copiar para outra pasta, não precisa ser com o mesmo nome... pode ser qualquer um... tipo... backup...
Bom... resumindo... não sei como fazer um controle de fluxo para entrar nestas pastas... uma por uma...
Valeu pessoal!!
Como envolve salvar um emprego, eu vou contrariar um pouco minhas crenças pessoais e vou te dar algumas orientações sobre como fazer. Em outros casos, minha resposta seria um RTFM ou um pedido de acerto financeiro, então não acostume ;-)
A melhor maneira de você fazer isso é renomeando essas pastas para que o nome delas corresponda ao padrão ISO8601 (yyyymmdd), que aí elas se ordenam sozinhas e uma simples comparação de quem é o número maior ou menor te diz qual é a pasta mais atual.
Use o comando cp para copiar arquivos de uma pasta para outra.
Se for criado apenas um arquivo por dia, coloque no início do nome do arquivo a data da criação no mesmo formato ISO8601, do contrário coloque um indexador após a data (por exemplo 20121227001, 20122127002). Mantenha o indexador e a data apenas com caracteres numéricos, e depois deles você coloca um traço (ou outro caractere que não seja usado normalmente no nome) e o nome do arquivo (20121227001-arquivo.txt), que aí usando um cut -d'-' -f1 você pega só a parte numérica.
Agora, se você quiser um controle de versão aprende a usar o SubVersion, você não vai se arrepender.