Pages : 1
#1 Le 06/12/2020, à 00:25
- FalCT60
[Résolu] Type mime
Je croyais pouvoir m'en sortir par moi-même...
J'ai trouvé le moyen de déterminer le type d'un fichier, mais même avec
file -b -i fichier
j'obtiens encore plus qu'il ne me faut : type/sous-type, alors que je n'ai besoin que de type.
Je ne suis pas encore parvenu à trouver l'option permettant de n'afficher que le type.
Et je suis preneur de toute idée, surtout si elle est lumineuse, parce que, là, c'est moi qui suis sur le point de m'éteindre, à force de lire des tas de pages d'explications.
Merci d'avance,
Dernière modification par FalCT60 (Le 11/12/2020, à 23:55)
Hors ligne
#2 Le 06/12/2020, à 00:44
- nany
Re : [Résolu] Type mime
Bonjour,
file -b --mime-type fichier
?
Hors ligne
#3 Le 06/12/2020, à 17:50
- FalCT60
Re : [Résolu] Type mime
Si j'en crois ce que j'ai pu lire ici, cela revient exactement au même, ça affiche type/sous-type.
Or, ce que je souhaite, c'est juste le membre de gauche, et je pense avoir trouvé le moyen de l'isoler via les opérations sur chaînes.
Ce qui devrait donner un truc du genre
type=${$(file -b -i "$nom")%%/*}
Étant donné que ton niveau est bien au-dessus du mien, je me sens un peu mal à l'aise de douter.
Et le doute va persister tant que ma machine linux ne sera pas de nouveau disponible pour me permettre de le lever.
Là, elle mouline à fond sur un traitement audio depuis hier soir (avant même que je poste).
Merci pour ton intervention qui, de toute façon, ne pourra qu'être profitable.
Hors ligne
#4 Le 06/12/2020, à 22:23
- FalCT60
Re : [Résolu] Type mime
Voilà, j'ai retrouvé l'utilisation de ma machine, le traitement est terminé.
Verdict : les deux commandes ne donnent pas exactement le même résultat, -b -i affiche, en plus, du type/sous-type l'encodage.
Par chance pour moi, c'est la partie gauche qu'il me faut ; s'il s'était agi de la partie droite, j'aurais eu une surprise.
Par ailleurs, la commande compactée telle que je l'ai écrite dans le post précédent ne fonctionne pas. Entre les ", ', ` et autres symboles cabalistiques, le bash a de quoi en rendre chèvre plus d'un.
Mais comme ça fonctionne avec la commande en plusieurs morceaux, je ne vais pas me casser la tête pour le moment ; je verrai lorsque j'aurai du temps pour ça.
Pour info, voici comment je l'ai fagoté pour l'instant :
nom=basename "$f"
mime=$(file -b -i "$nom" # merci à Nany de m'avoir pointé --mime-type au lieu de -i
type=${mime%%/* # je m'attendais à ce qu'il faille écrire "$mime", mais non...
S'il me vient un jour de l'inspiration, je me repencherai dessus.
Dernière modification par FalCT60 (Le 06/12/2020, à 22:24)
Hors ligne
Pages : 1