如何在 bash 脚本中获取 MIME 类型的图标名称?

如何在 bash 脚本中获取 MIME 类型的图标名称?

有没有办法将输出转换为

file --mime-type FILE

例如

"application/pdf"

变成图标名称,取决于当前图标主题,甚至是完整链接?

这个在哪里指定?我在 index.theme 文件中找不到类似的东西

答案1

根据 mime-type 名称选择图标。基本思路是,application-pdf.png当前主题的路径中应该有一个同名或类似的图标。

例如,在我的系统中有很多,你可以通过以下方式找到它们

locate application-pdf | grep icons

此外,您可以在以下位置找到定义 mime 类型特征的文件/usr/share/mime/:例如,对于 application-pdf,您有/usr/share/mime/application/pdf.xml。我不知道此文件是否可以包含图标的覆盖。

我已经发布了一个用于添加新 MIME 类型的小页面,但我不确定在此处发布链接是否被视为可接受的政策...

答案2

您可以使用以下命令:

locate $(file --mime-type "FILE" | awk "{print $NF}" | sed "s/\//-/g") | grep "/share/icons/"

相关内容