Diferencie entre ELFves e scripts rapidamente

3

Como uso o file para diferenciar entre ELFves e scripts o mais rápido possível?

Não preciso de mais detalhes, apenas ELF , script ( / texto não formatado ) ou outro / erro .

    
por PSkocik 03.06.2016 / 12:27

3 respostas

6

Se for apenas entre o ELF e o script, talvez você não precise de file . Com bash :

IFS= LC_ALL=C read -rn4 -d '' x < file
case $x in
  ($'\x7fELF') echo ELF;;
  ("#!"*) echo script;;
  (*) echo other;;
esac

( -d '' (para usar o caractere NUL como delimitador) é para contornar o fato de que bash ' read simplesmente ignora os bytes NUL na entrada).

Veja também:

por 03.06.2016 / 16:21
3

Crie um arquivo mágico (5) personalizado que contenha apenas os testes de que você precisa.

O estoque elf test pode ser buscado no link e, em seguida, cortado para baixo ainda mais. text está embutido, então você não precisa incluí-lo.

Para evitar a análise cada vez, coloque-o em seu próprio diretório e compile-o para mgc :

file -C -m dir

Isso produzirá dir.mgc . (Especificando -m dir/ , em vez disso, irá gerar .mgc .) Em seguida, ele será usado por execuções subseqüentes:

file -m dir
    
por 03.06.2016 / 15:17
0

Acontece que posso excluir os seguintes testes para acelerar:

encoding tokens cdf compress elf tar

(os testes são excluídos com -e $test_name ).

Parece que preciso do ascii e do soft test.

    
por 03.06.2016 / 12:40