2013-01-22 69 views
0

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

+1

命令'file'会告诉你后面是什么。但ImageMagick的'identify'命令有更好的机会检测更多不同的图像格式。 – mmgp

回答

0

在当前目录.开始:。

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

这将打印ImageMagick的可以识别的文件,这些文件以图片为主,但也有例外(如txt文件)的ImageMagick对于这项任务来说也并不是特别快,所以根据你的可用性,可能会有更快的选择。例如,PIL包因为Python支持更少量的图像格式,但对于您的任务来说,这可能足够了。

相关问题