如何在不将文件句柄保存到磁盘的情况下获取其 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/