在 shell 脚本中如何使用“file”来识别文件?

在 shell 脚本中如何使用“file”来识别文件?

我目前正在编写一个 shell 脚本,该脚本需要能够使用 unix“文件”实用程序识别文件的实际类型(而不是其扩展名)。但是,该工具输出的是人类可读的文本,可能有点难以解析。在我编写仅匹配其输出中找到的特定子字符串的内容之前,有没有更好的方法来解决这个问题?

答案1

使用--mime-type参数file提供更易于解析的 MIME 类型。

$ file --mime-type /etc/passwd
/etc/passwd: text/plain

如果需要,该-i选项可以提供更多信息(编码类型):

$ file -i /etc/passwd
/etc/passwd: text/plain; charset=us-ascii

相关内容