我已成功使用以下方法过滤“.hi”和“.o”:
:filter '\.(o|hi)$'
但是我该如何过滤二进制文件呢?
答案1
没有办法做到这一点。这是文件名过滤器和名称并未表明文件内容是否是二进制的。
基本上有两种可能的方法来实现这一点:
- 查询每个文件的 mime-type
- 检查每个文件的内容以评估其类型
这两个选项都涉及读取文件,而这并非您真正想要做的事情,因为它会降低性能(看看显示文件预览的文件管理器,即使有缓存,它们的速度也相当慢)。对于第二个选项,前 512 个字节就足够了,但如果您打开包含 1000 个文件的目录(/usr/bin
例如),所有这些文件都应位于您的存储中,除非它们已被您的操作系统内核缓存,否则速度会非常慢。