如果有人向我发送了没有扩展名的文档(.pdf,.doc,.xls,ppt,.ogg,mp3,png等),我该如何确定文件类型? / usr / bin / file命令并不总是正确猜测,或者只是说我有一个Microsoft Office文档。我想确切地知道我可以将扩展名添加到文件名中。

有帮助吗?

解决方案

您可以通过将它们添加到/ etc / magic

来提出自己的规则

man文件了解更多详情。总是得到这些正确是很棘手的,但是我已经取得了合理的成功。

其他提示

尝试mimetype(1)。

对于Perl,请查看 File :: MimeInfo

到目前为止,其他一些海报似乎忽视了一些事情。

File :: MimeInfo 使用'file'使用的相同MimeInfo数据库来识别文件。所以不太可能做出任何不同的事情。

File :: Type 可能很有趣,因为它只依赖于自身,但是这会导致一个滑稽长的脚本充满'if'语句。但就其本质而言,这不太可能涵盖已经没有涵盖的“档案”。

使用未知文件类型可以做的最好的事情是尝试使用十六进制编辑器打开它们,或者通过“字符串”运行它们并查看是否识别出任何内容。如果您管理如何识别文件,您可能希望文件::类型作为您的解决方案,因为据我所知,它至少容易扩展。

您可以使用Perl模块: File :: Type

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top