Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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

#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