当您使用 Recuva 之类的数据恢复程序时,它可以“恢复”大量文件,其中很多文件根本无法使用,其中包含随机数据,但不知何故却具有正确的文件名。有没有办法自动检测这些文件或包含有意义数据但需要修复的文件并删除其余垃圾文件?
答案1
在 Linux 下,这个实用程序file
可能值得研究。它使用三种不同类型的测试来“测试”您传递给它的每个文件,而不是依赖于文件名的扩展名。(请参阅man file
了解不同测试的说明)。
这是一种测试目录中每个文件的方法,如果它是 JPEG 图像,则将其复制到新文件夹中。
#!/bin/bash
mkdir useful
for cfile in *; do
fileres=$(file -b --mime-type "${cfile}")
if [[ "${fileres}" == "image/jpeg" ]]; then
cp "${cfile}" "useful/"
fi
done
在包含所有已恢复文件的目录中运行此脚本,它将仅将 jpeg 文件复制到该useful
目录。如果您正在寻找其他文件类型,只需将image/jpeg
我的脚本中的替换为您感兴趣的文件的 mime 类型即可。