renomear um lote de arquivos com a suas respectivas hash sha512 [RESOLVIDO]

1. renomear um lote de arquivos com a suas respectivas hash sha512 [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 23/08/2020 - 00:24h

Eu quero renomear os arquivos de um diretório colocando como nome a hash sha512 do respectivo arquivo. Como eu faço isso?

Os arquivos são de formatos distintos e o nome dos arquivos contém espaços e sinais de pontuação ( , . - _ ; : ).


  


2. Re: renomear um lote de arquivos com a suas respectivas hash sha512 [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 23/08/2020 - 18:03h


danilomarto escreveu:

Eu quero renomear os arquivos de um diretório colocando como nome a hash sha512 do respectivo arquivo. Como eu faço isso?

Os arquivos são de formatos distintos e o nome dos arquivos contém espaços e sinais de pontuação ( , . - _ ; : ).

Qual a dificuldade???
1º - Faça um laço, "pegando" o nome de cada arquivo do diretório pretendido.
2º - Gere uma var com sha512sum do arquivo.
3º - Renomeie, de "nome" para var gerada.
Exemplo:
for arq in *.*;do 
sha="$(sha512sum "$arq"|cut -d " " -f1)";
echo -e "\nArq:\"$arq\"\nSHA:$sha";
rename -n "s/.*/$sha/" "$arq";
wait;
done

Para alterar o Nome, retire o "-n" do comando rename
______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


3. Re: renomear um lote de arquivos com a suas respectivas hash sha512 [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 26/08/2020 - 00:05h

msoliver escreveu:


danilomarto escreveu:

Eu quero renomear os arquivos de um diretório colocando como nome a hash sha512 do respectivo arquivo. Como eu faço isso?

Os arquivos são de formatos distintos e o nome dos arquivos contém espaços e sinais de pontuação ( , . - _ ; : ).

Qual a dificuldade???
1º - Faça um laço, "pegando" o nome de cada arquivo do diretório pretendido.
2º - Gere uma var com sha512sum do arquivo.
3º - Renomeie, de "nome" para var gerada.
Exemplo:
for arq in *.*;do 
sha="$(sha512sum "$arq"|cut -d " " -f1)";
echo -e "\nArq:\"$arq\"\nSHA:$sha";
rename -n "s/.*/$sha/" "$arq";
wait;
done

Para alterar o Nome, retire o "-n" do comando rename
______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


Eu executei essas instruções no diretório com os asquivos que eu queria renomear e deu certo. Muito Obrigado!

Obs: A minha dificuldade reside no fato de que eu estou começando a estudar shell script então... eu não sei como resolver isso..