我编写项目,我需要识别某些文件格式.对于某些格式,我发现了用于轻松识别(mp3,ogg)的签名,而另一种格式我有一个大问题(如MPEG ADTS) - 我只是找不到可以使用哪种签名.
我发现Linux环境的File实用程序可以做到这一点.我试图用源代码搜索它,但我什么都没发现.
我发现文件实用程序将其数据库保存在magic.mgc文件中.但它以二进制形式存在.看起来像:

有人可能知道如何以纯文本格式找到该数据库吗?
小智 7
该实用程序不是特定于Linux的实用程序; 它是最初由Ian Darwin编写的UN*X文件命令的版本.二进制.mgc文件是从一堆源文件生成的.
你的Linux发行版可能有一个源代码包; 您获得该软件包的方式以及安装方式取决于您使用的软件包.
.mgc生成文件的源文件也可能在您的发行版上可用,而无需安装源包file; 如果是这样,您可以使用该file命令使用该-C标志生成它.我在Ubuntu 12.04虚拟机上看不到任何明显的东西,因此可能需要安装其他一些软件包(file本身已安装).(在OS X上,它们位于目录中/usr/share/file/magic.)
或者,您可以下载该文件的标准版本(可能已由您的发行版修改,因此您可能不需要该版本)并修改和构建它.
请注意,在某些版本的UN*X系统上,该file命令完成的大部分工作是在"libmagic"库中的库例程中完成的; 看看您的发行版是否具有该发行版或者可以安装它(例如,尝试man libmagic)以及它是否可以为您完成工作.
| 归档时间: |
|
| 查看次数: |
8678 次 |
| 最近记录: |