Mover arquivos conforme nomenclatura
Publicado por WILLIAM FELIPE DUTRA ABREU DA SILVA (última atualização em 09/07/2014)
[ Hits: 7.674 ]
Homepage: www.itadmin.com.br
Download 1404738993.5939.script.sh (versão 2)
Script gerado para atender à necessidade solicitada:
http://www.vivaolinux.com.br/topico/Perolas-da-Ostra-(Dicas)/Criando-diretorio-e-Mover-arquivo-1/
Versão 2 - Enviado por Vitor Augusto M. Pio em 07/07/2014
Changelog: Esta nova versão ficou menor e adicionei um arquivo de log, seria útil adicionar o horário de transferência ao log. Vou deixar isto para outro programador que deseja contribuir.
Um abraço e obrigado pelo script!
Download 1404738993.5939.script.sh
#!/bin/bash #---------------------------------------------------------------------- #DATA - 07 DE JANEIRO DE 2014 #AUTOR - WILLIAM FELIPE #EMAIL - WILLIAM.FDBS@GMAIL.COM #OBJETIVO - SUPRIR NECESSIDADE DE MOVER ARQUIVOS CONFORME NOMENCLATURA #ASSOCIADO - PEDIDO VIVAOLINUX #USUARIO - acoscarelli #---------------------------------------------------------------------- #OBS= AJUSTAR CAMINHOS CONFORME NECESSIDADE #Pasta onde ficam os arquivos PDF ARQUIVOS=/tmp/testes/arquivos #Diretorio onde serao criadas as pastas #DIR="/home/diretorio/gestao/" DIR="/tmp/testes/home/diretorio/gestao" #Temporarios TEMP=/tmp/testes/temporarios.txt #Inicio do script ls $ARQUIVOS > $TEMP for i in `cat $TEMP` do VAR1=`echo $i | cut -c1 ` VAR2=`echo $i | cut -c2,3,4 ` VAR3=`echo $i | cut -f2 -d '_' ` VAR4=`echo $i | cut -f3 -d '_' | cut -c6,7,8,9 ` #Verifica se VAR1 = S if [ $VAR1 = "S" ] then #Verifica se o diretorio S existe #Se existir continua, se não cria e continua ls $DIR/$VAR1 2>/dev/null >/dev/null && ( continue ) || ( mkdir -p $DIR/$VAR1 ) if [ $? -eq 0 ] then #Verifica VAR2 if [ $VAR2 = 531 ] then #Verifica se o diretorio 531 existe #Se existir continua, se não cria e continua ls $DIR/$VAR1/$VAR2 2>/dev/null >/dev/null && ( continue ) || ( mkdir -p $DIR/$VAR1/$VAR2 ) if [ $? -eq 0 ] then #Verifica VAR3 if [ $VAR3 = 037 ] then #Verifica se o diretorio 037 existe #Se existir continua, se nao cria e continua ls $DIR/$VAR1/$VAR2/$VAR3 2>/dev/null >/dev/null && ( continue ) || ( mkdir -p $DIR/$VAR1/$VAR2/$VAR3 ) if [ $? -eq 0 ] then #Verifica se diretorio $VAR4 existe #Se existir continua, se nao cria e continua ls $DIR/$VAR1/$VAR2/$VAR3/$VAR4 2>/dev/null >/dev/null && ( continue ) || ( mkdir -p $DIR/$VAR1/$VAR2/$VAR3/$VAR4 ) if [ $? -eq 0 ] then #Move o arquivo para destino final mv $ARQUIVOS/$i $DIR/$VAR1/$VAR2/$VAR3/$VAR4 if [ $? -eq 0 ] then echo "Arquivo $VAR4 movido para $DIR/$VAR1/$VAR2/$VAR3/$VAR4 com sucesso!!!" else echo "ERRO - Erro ao mover arquivo $VAR4 para $DIR/$VAR1/$VAR2/$VAR3/$VAR4, verifique !!!" fi fi fi fi fi fi fi fi done
Criando um usuário em shell script
Calculadora básica em Shell Script
Script para backup de usuários
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Um modo leve de ouvir/ver áudio/vídeo da internet em máquinas pererecas
Resolver algumas mensagens de erro do SSH
Instalar módulo de segurança do Banco do Brasil Warsaw do tipo .run
Sem espaço na partição home (1)
O que você está ouvindo agora? [2] (190)
Procrastinação e autossabotagem são problemas muito comuns na sociedad... (5)
warsaw parou de funcionar após atualização do sistema (solução) (10)