Ajudem aí, por favor ,Como copiar arquivos organizando por data.

1. Ajudem aí, por favor ,Como copiar arquivos organizando por data.

Alex Maia
alexmaia

(usa Ubuntu)

Enviado em 25/11/2011 - 20:19h

Elabore um script que receba como parâmetro dois diretórios (diretorioOrigem e diretorioDestino). O script deve copiar cada arquivo do diretorioOrigem (apenas os arquivos!) para o diretorioDestino, porém no diretorioDestino cada arquivo deve ser armazenado em sub-diretórios no formato YYYY/MM/DD, no qual YYYY é o ano, MM é o mês e DD é o dia, todos relativos a data de modificação do arquivo. Se tais sub-diretórios não existirem, precisam ser criados.

Detalhe: desconsidere que arquivos podem ter nomes com espaço. Por exemplo: "fulano cicrano.txt"


Exemplo: se o /diretorioOrigem/ tiver um arquivo /diretorioOrigem/teste.txt com data de modificação 22/01/1984, ele deve ser armazenado no diretório /diretorioDestino/1984/01/22/teste.txt.


  


2. Re: Ajudem aí, por favor ,Como copiar arquivos organizando por data.

Adriano Moreira da Silva
adri3d

(usa Arch Linux)

Enviado em 26/11/2011 - 01:02h

Cara tu, pelo mesmo tentou fazer,
eu aprendi algumas coisa fazendo ele,
ganhei mais experiencia e você não.


#!/bin/bash
QUESTAO="
Elabore um script que receba como parâmetro dois
diretórios (diretorioOrigem e diretorioDestino).
O script deve copiar cada arquivo do diretorioOrigem
(apenas os arquivos!) para o diretorioDestino, porém
no diretorioDestino cada arquivo deve ser armazenado
em sub-diretórios no formato YYYY/MM/DD, no qual YYYY
é o ano, MM é o mês e DD é o dia, todos relativos a
data de modificação do arquivo. Se tais sub-diretórios
não existirem, precisam ser criados.

Detalhe: desconsidere que arquivos podem ter nomes com espaço.
Por exemplo: \"fulano cicrano.txt\"

Exemplo: se o /diretorioOrigem/ tiver um arquivo
/diretorioOrigem/teste.txt com data de modificação
22/01/1984, ele deve ser armazenado no diretório
/diretorioDestino/1984/01/22/teste.txt.
"

DIR_ORIGEM=$1
DIR_DESTINO=$2

for ARQUIVO in $(ls $DIR_ORIGEM)
do
if [ -f $DIR_ORIGEM/$ARQUIVO ]; then #testando se é um arquivo
DATA=$(ls -l $DIR_ORIGEM/$ARQUIVO | awk {'print $6'})
ANO=$(echo $DATA|awk -F- {'print $1'})
MES=$(echo $DATA|awk -F- {'print $2'})
DIA=$(echo $DATA|awk -F- {'print $3'})
mkdir -vp "$DIR_DESTINO/$ANO/$MES/$DIA"
cp -v "$DIR_ORIGEM/$ARQUIVO" "$DIR_DESTINO/$ANO/$MES/$DIA"
fi
done



3. Re: Ajudem aí, por favor ,Como copiar arquivos organizando por data.

Rafael Poletto
polettin

(usa Debian)

Enviado em 28/11/2011 - 08:17h

eu estou começando a achar que a sessão de shell script virou uma área exclusiva para qualquer um chegar pedindo script com exigencias....

ao inves de procurarem e tentarem eles simplesmente chegam pedindo, vamos nos unir e ensinar a pescar... chega de dar o peixe...






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts