70 votes

Comment obtenir le type mime d'un fichier à partir de la ligne de commande ?

J'essaie d'obtenir le type mime d'un fichier à partir de la ligne de commande sous la forme d'une chaîne imprimée (ex. application/vnd.oasis.opendocument.spreadsheet ).

J'ai cherché comment faire et j'ai trouvé la xdg-mime commandement.

D'après la lecture de la page de manuel ( man xdg-mime ), il semble que je doive exécuter xdg-mime query filetype FILE . Cependant, lorsque je l'exécute avec n'importe quel fichier, il n'imprime rien et se termine.

Existe-t-il un moyen de résoudre ce problème ? Une commande alternative ?

120voto

Mufaka Points 54

Utilice file --mime-type -b filename

Regardez file --help pour plus de conseils.

4voto

Johan Points 1599

El excellente réponse sur cette page peut être placé dans une fonction ou un script comme ceci :

Exemple

$ mime_type.sh /etc/passwd  
text/plain

mime_type.sh

function mime_type()
{
  file --mime-type -b $*
}

mime_type $*

3voto

Jonathan Egerton Points 354

xdg-mime et d'interroger des bases de données différentes ( xdg-mime est plus complet). Voir Pourquoi la différence entre les résultats avec "file --mime-type" et "xdg-mime query filetype" ? pour plus de discussion.

xdg-mime ne fonctionne pas correctement à partir d'une session autre qu'une session de bureau (par exemple, si vous êtes connecté en SSH à une machine).

3voto

cipricus Points 2121
mimetype /path/to/file

Testé en 18.04

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X