bash,获取文件句柄的 mime 类型

标签 bash mime-types tar

如何在不将文件句柄保存到磁盘的情况下获取其 mime 类型?

我的意思是一个没有保存到磁盘的文件,而是:我从存档中提取它并计划将它传输到另一个脚本。

假设我像这样提取文件:

tar -xOzf images.tar.gz images/logo.jpg | myscript

现在在 myscript 中,我想在进一步处理文件之前检查文件的 mime 类型。这将如何进行?

最佳答案

因为有些人认为我上面的评论有帮助,所以我将其作为答案发布。 file-command 能够在运行/通过管道时确定文件的 MIME 类型。当传递 -b 时,它能够从 stdin - 打印文件的 --mime-type 简短地/以简短的方式读取文件。考虑到您的示例,您可能希望从存档中提取单个文件并确定其文件/mime 类型。

$ tar -xOzf foo.tar.gz file_in_archive.txt | file -b --mime-type -
text/plain

因此对于从存档中提取到标准输出的简单文本文件,它可能类似于上面的示例。希望有所帮助。问候

关于bash,获取文件句柄的 mime 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34512891/

相关文章:

python - 在远程 SFTP 服务器上解压 tar.gz

linux - 使用 grep -lr 输出将文件添加到 tar

html - mime 类型 "application/css"和 "text/css"之间有什么区别?

bash - Dockerfile 找不到入口点脚本

bash - bash -c ""中的源 bash 脚本

bash - 从变量中去除前缀​​ - bash

iis-7 - 为什么 IIS 要求声明 mime 类型?

google-chrome - 如何在 Google Chrome 扩展程序中检测当前选项卡的 MIME 类型?

python - 如何将 .tar 转换为 .tgz

linux - 在 bash 中如何为我正在后台处理的任意程序解析和/或重定向标准输出