La herramienta mimetype incluida en los sistemas GNU/Linux permite obtener el tipo MIME de cualquier archivo desde línea de comandos. Su funcionamiento es similar al de file, excepto que muestra el tipo MIME en lugar de la descripción. Veamos su uso y opciones interesantes.



Anteriormente demostré el uso de la herramienta file para determinar el tipo de un archivo. Particularmente demostré cómo utilizar file para determinar el tipo de un sistema de archivos. El utilitario mimetype es un script desarrollado en lenguaje Perl que intenta determinar el tipo MIME de un archivo.

Tal como se observa en el siguiente ejemplo, mientras que file muestra una descripción del tipo del archivo, mimetype simplemente muestra el tipo MIME:

emi@hal9000:~/Downloads$ file index.html 
index.html: HTML document, ASCII text, with very long lines, with CRLF line terminators
emi@hal9000:~/Downloads$ mimetype index.html 
index.html: text/html

Esta herramienta puede ser de gran utilidad al momento de desarrollar scripts Bash que requieran obtener el tipo MIME para realizar algún tipo de procesamiento o selección de archivos.

Otro ejemplo con un archivo MP3:

emi@hal9000:/data/mp3/Rock Nacional$ file Indio\ Solari\ -\ Vino\ Mariani.mp3 
Indio Solari - Vino Mariani.mp3: Audio file with ID3 version 2.3.0, contains:Audio file with ID3 version 2.4.0, contains:MPEG ADTS, layer III, v1, 128 kbps, 44.1 kHz, JntStereo
emi@hal9000:/data/mp3/Rock Nacional$ mimetype Indio\ Solari\ -\ Vino\ Mariani.mp3 
Indio Solari - Vino Mariani.mp3: audio/mpeg

Ya que un archivo puede coincidir con más de un tipo MIME, la opción -a vuelca todas las coincidencias para el archivo:

emi@hal9000:/data/mp3/Rock Nacional$ mimetype -a Indio\ Solari\ -\ Vino\ Mariani.mp3 
Indio Solari - Vino Mariani.mp3: audio/mpeg
Indio Solari - Vino Mariani.mp3: audio/mpeg
Indio Solari - Vino Mariani.mp3: application/octet-stream

Con la opción -d se muestra la descripción del tipo, en lugar del tipo MIME:

emi@hal9000:/data/mp3/Rock Nacional$ mimetype -d Indio\ Solari\ -\ Vino\ Mariani.mp3 
Indio Solari - Vino Mariani.mp3: MP3 audio

Esto hace que se comporte de manera similar a file.

Es posible emplear un formato personalizado mediante --output-format. En este caso los campos %f, %d y %m corresponden con el nombre del archivo, descripción del tipo y tipo MIME respectivamente:

emi@hal9000:~/Downloads$ mimetype --output-format "%f;%d;%m" index.html 
index.html;HTML document;text/html

Una de las opciones más interesantes al momento de desarrollar scripts es -b, ya que vuelca sólo el tipo MIME en la salida:

emi@hal9000:/data/mp3/Rock Nacional$ mimetype -b Indio\ Solari\ -\ Vino\ Mariani.mp3 
audio/mpeg


Tal vez pueda interesarte


Compartí este artículo