Pergunta

Se alguém me envia um documento (.pdf, .doc, .xls, .ppt, ogg, mp3, png, etc) sem a extensão, como posso determinar o tipo de arquivo? O comando / usr / bin / arquivo nem sempre acertar ou ele simplesmente diz que eu tenho um documento do Microsoft Office. Eu gostaria de saber exatamente para que eu possa adicionar a extensão ao nome do arquivo.

Foi útil?

Solução

Você pode vir acima com suas próprias regras, adicionando-os ao arquivo / etc / magic

arquivo de homem para mais detalhes. É complicado para obter sempre estes correta sucesso razoável no entanto, eu tive.

Outras dicas

Tente mimetype (1).

Para Perl, olhada File :: MimeInfo .

Alguns dos outros cartazes, até agora, parecem negligenciar algumas coisas.

File :: MimeInfo usa o mesmo banco de dados MimeInfo usado por 'arquivo' para identificar arquivos. Então, isso é improvável que fazer algo diferente.

File :: Tipo é provável que seja, embora interessante, pois depende apenas de si mesmo, mas isso leva a uma comicamente longo roteiro cheio de 'se' declarações. Mas esta é, por sua própria natureza, improvável para cobrir coisas 'arquivo' já não cobre.

O melhor que você pode fazer com tipos de arquivos desconhecidos é tentar rachar-los abrir com um editor hexadecimal, ou executá-los através de 'cordas' e ver se você reconhece nada. Se você gerenciar como identificar um arquivo, você pode querer ir para a File :: Digite como seu solução, porque tanto quanto eu posso fazer para fora, seu, pelo menos, fácil de estender.

Você pode usar o Perl módulo: File :: Tipo

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top