Organizar seus arquivos por pastas
Publicado por Zart Rock (última atualização em 16/01/2017)
[ Hits: 7.862 ]
Download 6456.organizador_por_pastas_v3.sh
Download organizador_pastas.sh (versão 2)
Esse script organiza todos os arquivos de uma determinada pasta em subpastas definidas para o usuário.
Utilização:
1) Jogue esse script em uma pastas que deseja organizar os arquivos.
2) Crie as pastas com uma palavra de referência para seus arquivos: Ex.: Seus Arquivos-> Alguma_Coisa.txt, alguma_coisa_02.mp4, ALGUMA COISA 03.mp4, outra coisa 01.mp3
O nome da pasta pode ser Coisa, não importando se as letras são maiúsculas ou minúsculas
3) Entre na pasta(alvo) pelo terminal e execute o script: ./<nomedoscript>.sh
Obs.: para não haver conflito, as pastas devem ter nomes únicos de seus arquivos. Além do script deixar os nomes dos arquivos em minúsculo.
Versão 2 - Enviado por Zart Rock em 03/12/2016
Changelog: Atualização: Corrigido o erro ao mover arquivos quando possuía 10 ou mais arquivos em uma determinada seleção.
Download organizador_pastas.sh
#!/bin/bash # #Utilização: # 1)Jogue esse scritp em uma pastas que deseja organizar as midias # 2)Crie as pastas com uma palavra de referência para suas mídias: # Ex: Seus Arquivos: Alguma_Coisa.mp3, alguma_coisa_02.mp4, ALGUMA COISA 03.mp4, outra coisa 01.mp4 # O nome da pasta pode ser Coisa, não importando se as letras são maiúsculas ou minúsculas # # 3)Entre na pasta das suas mídias pelo terminal e digite: ./<nomedoscript>.sh ls -d */>pastas_antes.txt #Lista os diretórios atuais em um arquivo num_dir=`wc -l pastas_antes.txt | cut -c 1` #Transformas todos os arquivos/pastas para minúsculo e tirar os espaços for i in * do arq_final=`echo "$i" |tr [:upper:] [:lower:]` arq_final=${arq_final// /_} mv "$i" $arq_final done #Começar a organizar ls -d */>pastas.txt # for i in {1..99}; do D=`cat pastas.txt| sed -n -e "$i"p` #Pega o nome da primeira pasta ex:"Exemplo/" D_nome=${D//// } #Retirar o "/" para ficar somente o nome ls *.mp4 | grep $D_nome>midias.txt num_arq=`wc -l midias.txt | cut -c 1` if [[ "$num_arq" -ne "0" ]]; then for count in {1..99}; do a=`cat midias.txt| sed -n -e "$count"p` mv "$a" "$D" if [[ "$count" -eq "$num_arq" ]]; then echo "Parou_ARQ" break fi done fi if [[ "$i" -eq "$num_dir" ]]; then echo "Parou" break fi done #Voltar com os nomes antigos for i in {1..99}; do D_anterior=`cat pastas_antes.txt| sed -n -e "$i"p` D_atual=`cat pastas.txt| sed -n -e "$i"p` mv $D_atual $D_anterior if [[ "$i" -eq "$num_dir" ]]; then echo "Parou" break fi done #Remover aquivos extras rm pastas.txt rm pastas_antes.txt rm midias.txt
Gerar a linha do Depends prontinha para o "control" para gerar pacotes DEB
Backup e restauração dos programas instalados em sistemas baseados em Debian
newchangelog - Script para gerar changelog.
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Criando uma VPC na AWS via CLI
Multifuncional HP imprime mas não digitaliza
Dica básica para escrever um Artigo.
Como Exibir Imagens Aleatórias no Neofetch para Personalizar seu Terminal
Melhorando a precisão de valores flutuantes em python[AJUDA] (11)
GLPI - Configuração de destinatário com conta Microsoft Exchange (0)
Vou voltar moderar conteúdos de Dicas e Artigos (3)
OpenVPN no MACBOOK conecta mas não pinga pastas de rede compartilhada ... (1)