Restaurando nomes de arquivos usando o arquivo md5

0

Recuperei alguns arquivos do meu disco rígido, mas os nomes foram alterados. Além disso, encontrei arquivos md5 dos arquivos recuperados.

Como posso usar o arquivo md5 para restaurar nomes de arquivos?

    
por Sunny 15.09.2018 / 10:20

2 respostas

0

Primeiro renomeie (ou vincule) cada arquivo recuperado para um nome que contenha seu MD5.

Em seguida, faça um loop sobre o arquivo (talvez usando while read md5 name ) e renomeie (ou vincule) o nome md5 de volta para o nome do arquivo original.

assumindo que o arquivo é do formato produzido pelo md5sum, algo assim funcionará.

for x in * 
do 
  mv "$x" 'md5sum < "$x" | cut -d' ' -f1'
done

cat /elsewhere/md5file |
while read md5 name 
do
  mv "$md5" "$name"
done

não renomeie a lista MD5 na primeira etapa. Eu suponho que está no local fictício /elsewhere/ que você poderia colocar em sua casa ou em / tmp / etc.

    
por 15.09.2018 / 10:29
0

Tente em um passo:

md5sum * | awk 'NR==FNR {FN[$1] = $2; next} {print "mv -v \"" $2 "\" \"" FN[$1] "\""}' md5file -

Isso cria uma assinatura md5sum para cada arquivo em seu diretório de trabalho, canaliza-o para um script awk que lê os nomes de arquivos "antigos" do arquivo md5 antigo em uma matriz indexada pela assinatura e lê os nomes reais dos arquivos de stdin ( - , o canal) e imprime o respectivo comando mv para stdout. Pipe isso em um shell ( | sh ) se estiver satisfeito com o que é proposto.

    
por 15.09.2018 / 11:02