Como eu procuro rapidamente por arquivos ascii grandes com menos?

0

Estou pesquisando alguns arquivos de log grandes (1 a 10 GB) e estou tendo problemas ao usar as funções de pesquisa padrão less ( / ). A pesquisa de strings leva vários minutos para encontrar uma correspondência.

Ouvi dizer que usar fgrep foi mais rápido, mas realmente não sei como usar isso de less , também estou aberto a outras sugestões. Eu não tenho nenhuma necessidade particular de funcionalidade de regex; Eu estou apenas combinando strings (regex seria bom, mas se eu puder renunciar a isso para melhorias significativas de velocidade que seria bom).

Eu tenho muito pouca informação sobre onde uma entrada em particular seria, e eu não quero cortar o arquivo de forma alguma, porque assim que eu encontrar uma correspondência, eu precisarei ver as informações em sua vizinhança (então grep | less não é realmente útil para mim).

Alguma correção rápida aqui?

    
por quant 12.05.2014 / 06:42

1 resposta

1

Você não precisa de um regex para usar o grep. Para resolver o seu problema, eu provavelmente usaria o grep da seguinte forma:

-i é insensível a maiúsculas e minúsculas -C são linhas de contexto antes e depois (o exemplo mostra 10, que deve dar a você 21 linhas para cada partida)

grep -i -C 10 "text" <file> | less
    
por 12.05.2014 / 06:51

Tags