2013-01-22 63 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支持更少量的圖像格式,但對於您的任務來說,這可能足夠了。

相關問題