2009-11-23 7 views
1

sur win32 J'utilisealternative au fichier (1) pour javascript/css mimetype

$ file -v 
file-5.03 
magic file from C:\PROGRA~1\gnuwin32/share/misc/magic 

mais son donnant des résultats étranges

foo.css; text/x-c; charset=utf-8 
json2.js; text/x-c; charset=us-ascii 
foo.js; text/x-c++; charset=utf-8 
bar.js; text/plain; charset=utf-8 

Toute personne obtenir des résultats similaires? de meilleurs résultats? Est-ce que quelqu'un sait d'une alternative? commande

Merci

Répondre

1

Je ne pense pas que le fichier (1) peut le faire. La commande "file" recherche les chaînes magiques dans le fichier - par ex. la chaîne "GIF89a" au début d'un fichier GIF. Les fichiers CSS et JS ne s'auto-identifient pas comme ça, donc vous devrez faire quelque chose de plus compliqué.

Si vous avez accès à l'en-tête Content-Type retourné par le serveur, ce serait beaucoup plus fiable que d'essayer de deviner le type en regardant le contenu du fichier.

Si vous avez juste le contenu du fichier, vous pouvez faire votre propre recherche de chaînes telles que "fonction" ou "var" qui ne sont pas susceptibles d'être dans un fichier CSS. Si vous les trouvez, c'est probablement JavaScript. C'est une heuristique imparfaite bien sûr - il pourrait y avoir une image de fond nommée "function.png". Aller dans l'autre sens serait plus sujet aux erreurs, puisque JavaScript peut manipuler les styles CSS ... il ne serait pas inhabituel de trouver des propriétés CSS comme "text-decoration" dans un fichier JS. Ou vous pouvez essayer d'exécuter le fichier via un analyseur CSS ou JS. Si vous obtenez une tonne d'erreurs lors de l'analyse en CSS, ce n'est probablement pas un fichier CSS :).