• Prezados usuários,

    Por questões de segurança, a partir de 22/04/2024 os usuários só conseguirão logar no fórum se estiverem com a "Verificação em duas etapas" habilitada em seu perfil.

    Para habilitar a "Verificação em duas etapas" entre em sua conta e "Click" em seu nick name na parte superior da página, aparecerá opções de gestão de sua conta, entre em "Senha e segurança", a primeira opção será para habilitar a "Verificação em duas etapas".

    Clicando alí vai pedir a sua senha de acesso ao fórum, e depois vai para as opções de verificação, que serão as seguintes:

    ***Código de verificação via aplicativo*** >>>Isso permite que você gere um código de verificação usando um aplicativo em seu telefone.

    ***Email de confirmação*** >>>Isso enviará um código por e-mail para verificar seu login.

    ***Códigos alternativos*** >>>Esses códigos podem ser usados para fazer login se você não tiver acesso a outros métodos de verificação.

    Existe as 3 opções acima, e para continuar acessando o fórum a partir de 22/04/2024 você deverá habilitar uma das 03 opções.

    Tópico para tirar dúvidas>>>>https://forum.adrenaline.com.br/threads/obrigatoriedade-da-verificacao-em-duas-etapas-a-partir-de-24-04-2024-duvidas.712290/

    Atencionamente,

    Administração do Fórum Adrenaline

Shell Script que separa arquivos de Acordo com nome da pasta de destino

rodrigo.cunha

New Member
Registrado
Saudações, preciso de um Script que separa arquivos de Acordo com nome da pasta de destino. Exemplo se na pasta de destino existir uma pasta chamada Paulo ela procura na pasta de origem aonde estão localizados os arquivos para separar arquivos que tenham o nome Paulo.
Origem
Paulo24567.mp4
Destino
Pasta Paulo
Muito obrigado
 
Saudações, preciso de um Script que separa arquivos de Acordo com nome da pasta de destino. Exemplo se na pasta de destino existir uma pasta chamada Paulo ela procura na pasta de origem aonde estão localizados os arquivos para separar arquivos que tenham o nome Paulo.
Origem
Paulo24567.mp4
Destino
Pasta Paulo
Muito obrigado
Olá Rodrigo, boa noite!
Não entendi muito bem o que precisa, mas consegue compartilhar que já fez e aonde parou que precisa de apoio?

Att,
KowalskiLinux
 
Boa tarde, então o problema é que nem tenho ideia de como começo. Foi tentar explicar um pouco melhor. Tenho as pastas de destino com os nomes, o que eu queria é que um script procura-se na origem os arquivos similares o nome da pasta de destino e move-se da origem para o destino nas pastas corretas. Muito obrigado pela resposta
 
Boa tarde, então o problema é que nem tenho ideia de como começo. Foi tentar explicar um pouco melhor. Tenho as pastas de destino com os nomes, o que eu queria é que um script procura-se na origem os arquivos similares o nome da pasta de destino e move-se da origem para o destino nas pastas corretas. Muito obrigado pela resposta
Rodrigo, bom dia!

Deixa eu ver se eu entendi, voce quer um script que busque na origem e a mesma for igual a do destino, voce vai mover ela para lá?

Exemplo:

Origem(pastas):
rodrigo_cunha

Destinho(pastas):
rodrigo_cunha

Vai copiar neste match?

Irá sobscrever o destino?

Att,
KowalskiLinux
 
Segue o Script, funciona somente com nome de pastas simples e não com nome longos e espaços

#!/usr/bin/env bash

#Defina dir_orig e dir_dest
dir_orig='/media/storage/01\ BR/00\ MATERIAIS\ RECEBIDOS\ BR/';
ls -1R ${dir_orig}*.* > arqs_origem.txt
dir_dest='/media/storage/01\ BR/00\ PROGRAMAS/'

for dir in $(ls -1d ${dir_dest}*/);do #pega somente as pastas
nome=$(awk -F"/" '{print $(NF-1)}' <<< "${dir}"); #pega o penúltimo campo
if grep "${nome}" arqs_origem.txt > nome.txt;then #busca por 'nome' em arqs_origem.txt, se 'true', copia
echo -e "Copia arquivos: "$(cat nome.txt)"\nPara: ${dir}\n"; # Linha para testes.....estando ok, "descomente" a linha abaixo
cp -r "$(cat nome.txt)" ${dir}
#mv "$(cat nome.txt)" ${dir}
fi
done
 
Segue o Script, funciona somente com nome de pastas simples e não com nome longos e espaços

#!/usr/bin/env bash

#Defina dir_orig e dir_dest
dir_orig='/media/storage/01\ BR/00\ MATERIAIS\ RECEBIDOS\ BR/';
ls -1R ${dir_orig}*.* > arqs_origem.txt
dir_dest='/media/storage/01\ BR/00\ PROGRAMAS/'

for dir in $(ls -1d ${dir_dest}*/);do #pega somente as pastas
nome=$(awk -F"/" '{print $(NF-1)}' <<< "${dir}"); #pega o penúltimo campo
if grep "${nome}" arqs_origem.txt > nome.txt;then #busca por 'nome' em arqs_origem.txt, se 'true', copia
echo -e "Copia arquivos: "$(cat nome.txt)"\nPara: ${dir}\n"; # Linha para testes.....estando ok, "descomente" a linha abaixo
cp -r "$(cat nome.txt)" ${dir}
#mv "$(cat nome.txt)" ${dir}
fi
done
Com pastas com nomes longos e com espaço que não tem uma nomenclatura padrão, fica difícil trabalhar, por que vai precisar converter para trabalhar eles, utilizando algum delimitador, exemplo:

Pasta de:
Adrenalina no ruindows

Para:
adrenalina_no_ruindows

Assim tem um padrão para trabalhar, compreende?

Att,
KowalskiLinux
 

Users who are viewing this thread

Voltar
Topo