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

bash,获取文件句柄的mime类型,bash,mime-types,tar,Bash,Mime Types,Tar,如何在不将文件句柄保存到磁盘的情况下获取其mime类型 我的意思是一个没有保存到磁盘的文件,而是:我从一个归档文件中提取了它,并计划将它传输到另一个脚本 假设我像这样提取了文件: tar -xOzf images.tar.gz images/logo.jpg | myscript 现在在myscript中,我想在进一步处理之前检查文件的mime类型。这将如何进行?因为有些人认为我上面的评论很有帮助,所以我将其作为一个答案发布。 file-命令能够动态/通过管道确定文件的mime类型。它能够从s

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

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

假设我像这样提取了文件:

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

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

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

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

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

从管道输入的前端读取足够的数据,您可以对其进行测试,然后将该数据(以及其余管道数据)输入到下一步执行的任何处理步骤中?我不知道您试图实现什么。可能是动态文件/mime类型验证?这个
file
-命令可能会有所帮助:
cat my_on_the_fly_file | file-b--mime type-
。它决定了文件的smime类型“在运行中”。Marc,不要害羞。将此作为答案发布。tar-xOzf images.tar.gz images/logo.jpg | file-b--mime类型-