Commande de fichier + liste de retour total

0

Avec la filecommande, nous pouvons obtenir le type de fichier. File renvoie une réponse unique pour chaque type de fichier. Je veux obtenir la liste totale qui filepeut retourner pour linux & solaris.

Par exemple, j'ai une liste partielle des filerésultats de retour de. Malheureusement, je ne peux pas voir la liste totale à partir de la page de manuel.

 ASCII C program text  
 ASCII C++ program text  
 ASCII C program text, with CRLF
 ASCII C program text, with very
 ASCII English text   
 ASCII English text, with CRLF line
 ASCII English text, with escape sequences
 ASCII English text, with very long
 ASCII HTML document text  
 ASCII HTML document text, with very
 ASCII Java program text  
 ASCII Java program text, with CRLF,
 ASCII Java program text, with very
 ASCII make commands text  
 ASCII make commands text, with very
 ASCII text    
 ASCII text, with CRLF line terminators
 ASCII text, with escape sequences 
 a /usr/bin/perl script text executable 
 Bourne-Again shell script text executable 
 Bourne shell script text executable 
 core file (Xenix)   
 C++ program text   
 data     
 exported SGML document text  
 extended 669 module data  
 HTML document text   
 ISO-8859 English text   
 Non-ISO extended-ASCII English text  
 Non-ISO extended-ASCII English text, with CRLF
 Non-ISO extended-ASCII English text, with very
 PC bitmap data   
 PC color icon data  
 PC color pointer image data 
 PC icon data   
 PDF document, version 1.2  
 TOC sound file   
 UTF-8 Unicode text, with CRLF line
 XML document text
Jennifer
la source
Ne me dites pas que vous essayez d'analyser la sortie d'un fichier comme celui-ci ...
Daenyth
@ Daenyth j'ai besoin de la liste totale que le fichier peut renvoyer et selon la liste, je veux vérifier le type de fichier
jennifer
1
Vous devez aborder cela différemment. Quoi que vous essayiez d'accomplir, c'est la mauvaise façon de procéder. Soyez précis sur ce que vous essayez vraiment de faire.
Dennis Williamson
Dennis, je reviens à propos de ma question - j'ai besoin de toutes les réponses retournées à la commande file Comment puis-je obtenir cette liste, quel est le problème avec cette question
jennifer
Le problème est que la sortie possible de la filecommande est profondément enfouie dans le code source, car il contient plusieurs modules spécifiquement écrits pour, par exemple, les archives. Réfléchissez aux combinaisons possibles de "avec les terminateurs de ligne CRLF". Il existe probablement un très grand nombre de types possibles.
Slhck

Réponses:

1

Vous ne pouvez pas obtenir une liste exhaustive des résultats de la filecommande. Le résultat généré est déterminé par la base de données «magique», qui change à chaque mise à jour du programme et peut être personnalisée par l'administrateur système et l'utilisateur. En outre, les chaînes renvoyées par filepeuvent être construites à partir de plusieurs pièces, par exemple, les fichiers texte reçoivent parfois une indication des codages de caractères, les fichiers image peuvent avoir leur taille, etc.

Sous Linux, file -iaffiche le type MIME (par exemple text/plain, image/jpeg) plutôt qu'une chaîne destinée aux humains. Si vous envisagiez d'analyser la sortie de file, vous le souhaitez file -i. Il existe une liste officielle des types MIME , mais elle n’est pas exhaustive: il existe de nombreux types non standard. En outre, file -ipeut compléter le type MIME avec des informations de codage (par exemple text/plain charset=utf-8).

Gilles
la source