Pregunta

Si alguien me envía un documento (.pdf, .doc, .xls, ppt, .ogg, mp3, png, etc.) sin la extensión, ¿cómo puedo determinar el tipo de archivo? El comando / usr / bin / file no siempre acerta o simplemente dice que tengo un documento de Microsoft Office. Me gustaría saber exactamente para poder agregar la extensión al nombre del archivo.

¿Fue útil?

Solución

Puede crear sus propias reglas agregándolas a / etc / magic

archivo man para más detalles. Es complicado siempre hacer esto correctamente, sin embargo, he tenido un éxito razonable.

Otros consejos

Pruebe mimetype (1).

Para Perl, mire File :: MimeInfo .

Algunos de los otros carteles hasta ahora parecen descuidar algunas cosas.

File :: MimeInfo usa la misma base de datos MimeInfo utilizada por 'file' para identificar archivos. Así que es poco probable que haga algo diferente.

File :: Type es probable que sea interesante, ya que se basa solo en sí mismo, pero esto lleva a un guión largo cómico lleno de declaraciones 'if'. Pero es, por su propia naturaleza, poco probable que cubra cosas que el 'archivo' ya no cubre.

Lo mejor que puede hacer con tipos de archivos desconocidos es intentar abrirlos con un editor hexadecimal o ejecutarlos a través de 'cadenas' y ver si reconoce algo. Si gestiona cómo identificar un archivo, puede ir a File :: Type como su solución porque, por lo que puedo ver, es al menos fácil de extender.

Puede usar el módulo Perl: File :: Type

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top