ハードドライブからいくつかのファイルを回復しましたが、名前が変更されました。そして、回復されたファイルの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
提案が満足であれば、それをシェル()にパイプしてください。