Mover arquivos conforme nomenclatura
Publicado por WILLIAM FELIPE DUTRA ABREU DA SILVA (última atualização em 09/07/2014)
[ Hits: 7.608 ]
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
ola_mundo.sh - Mostra a mensagem "Olá Mundo" na tela
Dicionário on-line via linha de comando
Informaçoes de rede com shell script
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Criando uma Infraestrutura para uma micro Empresa
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Discussão sobre monitoramento da integridade de arquivos (6)
Problema no boot do Linux Mint Cinnamon 22 (4)
Atualização do Google Chrome do Ubuntu [RESOLVIDO] (2)
Instalei Windows 11 e não alterou o Grub do Debian (1)
Jogos baixados na Central de Aplicativos mas que não abrem (0)