6

コマンドでファイルの種類を識別できます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 にとって重要でないことはわかっていますが、私にとっては重要です

4

2 に答える 2

2

一部のファイル タイプは、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
于 2013-05-20T17:32:39.507 に答える
1

拡張機能のセットがかなり限られている場合、file出力から好みの拡張機能へのマッピングを作成することは難しくありません。

case $(file - <"$file") in
  '-: GIF image'* ) ext=gif ;;
  '-: ASCII text'* ) ext=txt ;;
  # etc
esac
于 2013-05-20T17:26:52.333 に答える