Por que "menos" é muito mais lento que "grep"?


12

Às vezes, preciso procurar em arquivos com vários shows e percebi que encontrar o que estou procurando com grep é muito mais rápido do que com menos. Por que poderia ser isso? Estou falando de procurar uma determinada tag / palavra, nem mesmo uma expressão regular complicada.


Não é uma resposta, mas você já pensou em usar o grep e depois um pipe para passar os resultados para menos?
ridogi 12/01

1
Sim, eu geralmente uso grep com -A / B / C para obter algum contexto sobre o que estou procurando, mas às vezes preciso de mais flexibilidade ao procurar arquivos de log e ser capaz de rolar e pesquisar incrementalmente a partir daí / antes
naumcho 12/01

Respostas:


9

Por padrão, 'less' calcula os números das linhas, o que pode retardá-lo. Tente usar a opção '-n' para suprimir os cálculos de número de linha e ver se isso acelera as coisas.


2
Eu acho que a contagem de linhas acontece quando o grep encontra sua correspondência - então você vê "Calculando números de linhas" e leva um tempo para permitir que você faça alguma coisa, mas você pode cancelar isso com ctrl + c. Não parece que o -n ajuda na velocidade de pesquisa real.
Naumcho

Isso fez o truque para mim. Percebeu uma enorme diferença (como em dezenas de segundos vs resposta instantânea) ao abrir um arquivo de log de quase 10 GB e pressionar Shift G para chegar ao final do arquivo.
Marcello Romani

@MarcelloRomani shift-G não tem nada a ver com a busca embora
Martin Konecny
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.