Identificando um arquivo com “arquivo” em um script de shell?

1

Atualmente estou escrevendo um script de shell que precisa ser capaz de identificar o tipo real de arquivos (não suas extensões) com o utilitário unix "file". No entanto, essa ferramenta produz texto legível em humanos que pode ser um pouco difícil de analisar. Antes de escrever algo que apenas corresponda a substrings específicas encontradas em sua saída, existe uma maneira melhor de abordar esse problema?

    
por camperdave 07.01.2012 / 21:00

1 resposta

2

Usar o argumento --mime-type para file fornece o tipo MIME que é mais fácil de analisar.

$ file --mime-type /etc/passwd
/etc/passwd: text/plain

A opção -i fornece um pouco mais de informação (tipo de codificação), se necessário:

$ file -i /etc/passwd
/etc/passwd: text/plain; charset=us-ascii
    
por 07.01.2012 / 21:05