Você pode usar a -m
opção para especificar uma lista alternativa de arquivos mágicos e, se você incluir o seu antes do arquivo mágico compilado ( /usr/share/file/magic.mgc
no meu sistema) nessa lista, esses padrões serão testados antes dos "globais". Você pode criar uma função, ou um alias, para sempre usar sempre essa opção de forma transparente, apenas emitindo o file
comando
A linguagem usada no arquivo mágico é bastante poderosa, portanto, raramente é necessário reverter para a codificação C personalizada. A única vez que eu me senti inclinado a fazê-lo foi na década de 90, quando correspondentes arquivos HTML e XML foi difícil porque não havia nenhuma maneira (na época) para ter o invólucro flexível e compensar correspondência necessária para ser capaz de analisar <HTML
e < Html
e < html
com um padrão . Eu implementei isso em C como modificador do padrão 'string', permitindo ignorar maiúsculas e minúsculas e compactar espaços em branco (opcionais) .
Essas mudanças em C também exigiram a adaptação dos arquivos mágicos . E, a menos que o file
código-fonte tenha sido alterado significativamente desde então, você sempre precisará modificar (ou fornecer) regras extras nos magic
arquivos que correspondem às alterações no código C. Portanto, você pode começar a tentar fazer isso apenas com alterações nos arquivos mágicos e voltar a mudar o código C, se isso realmente não der certo.