usando strings (o comando) para encontrar somente palavras inglesas

1

Meu problema em poucas palavras é que eu quero a lista de palavras em inglês que são impressas quando executo 'strings' em um arquivo binário. Atualmente, o arquivo que eu executo despeja um lote de lixo na tela, e estou interessado somente em palavras que são, bem, palavras.

Depois de procurar por aqui, vejo que o grep -f acompanhado por um arquivo do dicionário Linux faça o que eu quiser, mas é lento .

Existe uma alternativa mais rápida disponível, ou é realmente tão difícil de combinar palavras em inglês?

    
por Gus 26.12.2012 / 18:55

2 respostas

0

O Grep pode usar um algoritmo de correspondência mais rápida quando sabe que é apenas correspondência de cadeias fixas (vs expressões regulares). Você habilita esse comportamento fornecendo o argumento -F ou usando o comando fgrep .

O comando completo é:

strings fileToScan | grep -F -f /usr/share/dict/words

assumindo que o arquivo de dicionário está presente em / usr / share / dict / words

    
por 04.01.2013 / 16:08
2

Não é difícil combinar, o problema é que você está combinando uma lista possivelmente longa com uma lista muito longa. Leva muito tempo simplesmente devido ao grande número de comparações que precisam ser feitas.

    
por 26.12.2012 / 18:59