【问题标题】:bash, getting the mime type of a file handlebash,获取文件句柄的 mime 类型
【发布时间】:2015-12-29 14:16:16
【问题描述】:

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

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

假设我像这样提取文件:

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

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

【问题讨论】:

  • 从管道输入的前端读取足够的数据,您可以对其进行测试,然后将该数据(以及其余的管道数据)输入到您接下来执行的任何处理步骤中?
  • 我不知道你想达到什么目的。也许是即时文件/mime 类型验证?这个file-command 可能会有所帮助:cat my_on_the_fly_file | file -b --mime-type -。它“即时”确定文件 smime 类型。
  • 马克,别害羞。将此作为答案发布。 tar -xOzf images.tar.gz images/logo.jpg |文件 - b - - mime 类型 -

标签: bash mime-types tar


【解决方案1】:

因为有些人认为我上面的评论很有帮助,所以我将其发布为答案。 file-command 能够即时/在管道传输时确定文件的 mime 类型。当传递-b 时,它能够从标准输入- 读取文件的--mime-type。考虑到您的示例,您可能希望从存档中提取单个文件并确定其文件/mime 类型。

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

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

【讨论】:

    猜你喜欢
    • 2018-12-01
    • 2014-05-19
    • 1970-01-01
    • 2012-05-08
    • 1970-01-01
    • 2014-01-30
    • 2015-09-13
    • 1970-01-01
    • 2010-09-30
    相关资源
    最近更新 更多