Você não pode obter uma lista exaustiva de saída do comando file . A saída gerada é determinada pelo banco de dados “mágico”, que muda a cada atualização do programa e pode ser personalizado pelo administrador do sistema e pelo usuário. Além disso, as strings retornadas por file podem ser construídas a partir de várias partes, por exemplo, arquivos de texto às vezes recebem uma indicação de codificações de caracteres, arquivos de imagem podem ter seu tamanho mostrado, etc.
No Linux, file -i mostra o tipo MIME (por exemplo, text/plain , image/jpeg ) em vez de um corda destinada a humanos. Se você estava pensando em analisar a saída de file , você deseja file -i . Existe uma lista oficial de tipos MIME , mas não é exaustiva: há muitos tipos não padronizados lá fora. Além disso, file -i pode complementar o tipo MIME com informações de codificação (por exemplo, text/plain charset=utf-8 ).