【问题标题】:Get default / preferred file extension获取默认/首选文件扩展名
【发布时间】:2013-05-20 17:15:54
【问题描述】:

我可以使用file 命令识别文件类型。我可以获得文件的默认(首选)扩展名吗?

例如对于

tmp_206.file: GIF image data, version 89a, 17 x 17
tmp_202.file: ASCII text, with very long lines, with no line terminators

应该是.gif.txt

我知道扩展对 UNIX 无关紧要,但它们对我很重要

【问题讨论】:

标签: unix


【解决方案1】:

某些文件类型支持 jpeg 文件的多个扩展名,例如 jpe、jpeg、jpg 等。

您可以做的是首先使用以下方式获取 mime 类型:

mimleType=$(awk -F';' 'NF>1{print $1}' < <(file -bi logo.jpeg))

然后使用这个 awk 获取文件扩展名:

awk -v mt=$mimeType '$1==mt{print $2}' /Applications/MAMP/conf/apache/mime.types

输出:

jpeg

【讨论】:

    【解决方案2】:

    如果您有一组合理有限的扩展,创建从file 输出到您首选扩展的映射并不难。

    case $(file - <"$file") in
      '-: GIF image'* ) ext=gif ;;
      '-: ASCII text'* ) ext=txt ;;
      # etc
    esac
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-23
      • 2017-12-24
      • 1970-01-01
      • 2012-06-07
      相关资源
      最近更新 更多