使用 md5 文件恢复文件名

使用 md5 文件恢复文件名

我从硬盘恢复了一些文件,但名称已更改。另外,我发现了恢复文件的 md5 文件。

如何使用md5文件恢复文件名?

答案1

首先将每个恢复的文件重命名(或链接)为包含其 MD5 的名称。

然后循环该文件(可能使用while read md5 name)并将 md5name 重命名(或链接)回原始文件名。

假设文件是​​由 md5sum 生成的格式,这样的东西就可以工作。

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

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

确保不要在第一步中重命名 MD5 列表。我假设它位于/elsewhere/您可以放在家里或 /tmp/ 等的虚构位置。

答案2

一步一步尝试:

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

这会为工作目录中的每个文件创建一个 md5sum 签名,将其通过管道传输到一个awk脚本中,该脚本将旧 md5 文件中的“旧”文件名读取到由签名索引的数组中,然后从 stdin ( -,管道)并将相应的mv命令打印到标准输出。| sh如果对建议感到满意,则将其通过管道传输到 shell ( ) 中。

相关内容