如何在不将文件保存到磁盘的情况下获取文件句柄的 MIME 类型?
我的意思是,这是一个没有保存到磁盘的文件,而是从存档中提取出来并计划将其传输到另一个脚本。
假设我是这样提取文件的:
tar -xOzf images.tar.gz images/logo.jpg | myscript
现在,在我的脚本中,我想在进一步处理文件之前检查文件的MIME类型。它应该如何进行?
如何在不将文件保存到磁盘的情况下获取文件句柄的 MIME 类型?
我的意思是,这是一个没有保存到磁盘的文件,而是从存档中提取出来并计划将其传输到另一个脚本。
假设我是这样提取文件的:
tar -xOzf images.tar.gz images/logo.jpg | myscript
现在,在我的脚本中,我想在进一步处理文件之前检查文件的MIME类型。它应该如何进行?
有些人认为我上面的评论很有帮助,所以我把它发表成一个答案。
file
命令能够在运行时/被处理时确定文件的MIME类型。它能够从stdin中读取文件-
,在传递-b
参数时简要地/简洁地打印文件的--mime-type
。考虑到你的例子,你可能想从存档中提取单个文件并确定其文件/MIME类型。
$ tar -xOzf foo.tar.gz file_in_archive.txt | file -b --mime-type -
text/plain
file
命令可能会有所帮助:cat my_on_the_fly_file | file -b --mime-type -
。它可以在运行时确定文件的媒体类型。 - Marc Bredt