Mover arquivos conforme nomenclatura
Publicado por WILLIAM FELIPE DUTRA ABREU DA SILVA (última atualização em 09/07/2014)
[ Hits: 7.638 ]
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
Obter temperatura do Weather.com
Configurando clientes NIS em distros baseadas no Red Hat
Automatizando digitação de códigos 2FA no browser
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Como converter imagens PNG/JPEG para SVG em linha de comando
Fez porcaria no teu repositório Git? Aprenda a restaurar uma versão anterior do seu código!
Restaurando Fontes de Download do Hydra no Linux
Atualizando "na marra" o YT-DLP quando começa a dar erro de downloads
Como instalar o WPS com interface e corretor ortográfico em PT-BR no Arch Linux
[AJUDA] Problemas ao atualizar BIOS da Gigabyte B550M K rev. 1.1 — “RO... (4)
Inicializaçao lenta (alguns processos rodando) Debian 11 Bullseye [RES... (2)
Erro na atualização dos pacotes (6)