0

我有一个决定死掉的应用程序,它有一个图像库,它存储在我的硬盘驱动器上的一系列类似 guid 的文件夹中。文件本身没有文件扩展名,必须有一个内部数据库(不可恢复/损坏)将文件本身与其名称/扩展名/mime相关联。因此,为了找回我的东西,我希望能够搜索磁盘以至少识别哪些文件是图像(jpeg 和 png 文件)。我知道 jpeg 和 png 在文件的前几个字节中都有特定的字节序列。是否有一个 grep 命令可以匹配我拥有的大规模嵌套文件系统结构中每个文件的前几个字节中的这些已知字节序列(例如,文件夹 0 到 f,每个文件夹包含文件夹 0 到 f,嵌套几级深,与带有 uid 文件名的文件。

4

1 回答 1

0

从当前目录开始.

find . -type f -print0 | xargs -J fname -0 -P 4 identify -ping fname 2>|/dev/null

这将打印 ImageMagick 可以识别的文件,主要是图像,但也有例外(如 txt 文件)。ImageMagick 对于这项任务也不是特别快,因此根据您可用的内容,可能会有更快的替代方案。例如,PILPython 的包将使其更快,因为它支持较少数量的图像格式,但这可能足以满足您的任务。

于 2013-01-22T05:18:43.977 回答