首页 > 解决方案 > 如何在 Lisp 中确定文件类型

问题描述

lisp 的 shell 中是否有类似的东西file来确定文件类型?如果不是,您如何确定文件 tpye?

在大多数情况下pathname-type已经足够好了,但有时你可能会遇到一些没有被正确命名的文件。

标签: common-lisp

解决方案


的功能file可用于libmagic

从文件的 Ian Darwin/Christos Zoulas 版本的 4.00 版开始,文件的功能被合并到一个 libmagic 库中,该库可通过 C(和 C 兼容)链接访问;[7][8] 文件是使用该库实现的.

维基百科

Common Lisp 有一个绑定。

我必须libmagic-dev在我的系统上安装,然后:

CL-USER> (ql:quickload :magicffi)
... 
(:MAGICFFI)

CL-USER> (magicffi:pathname-mime #P"/bin/ls")
"application/x-sharedlib; charset=binary"

MAGICFFI


推荐阅读