Obtenha dados adicionais em torno do grep

4

Eu estou querendo saber como melhorar meu grep use ao ser confrontado com arquivos com linhas muito longas. Imagine algo como arquivos JavaScript "compactados" que tenham apenas 1 linha. Às vezes, arquivos como esse geram resultados que eu não esperava e inundam meu console (especialmente quando uso --recursive ).

Eu acho que gostaria de algo como --context , mas para palavras / bytes em torno da partida. Eu pensei que estava sendo inteligente inventando esse uso:

$ grep -rino --color ".\{0,20\}something.\{0,20\}" *

Mas isso faz com que os caracteres em torno do meu termo de pesquisa façam parte da correspondência.

    
por Der Hochstapler 15.12.2011 / 17:31

1 resposta

1

Eu acho que uma solução foi um pouco na frente do meu rosto. Agora estou usando essa função no meu .bashrc :

grepAdjusted()
{
  grep -Erino ".{0,20}$1.{0,20}" ${@:2:$(($#-1))} | grep -i --color "$1"
}
alias g=grepAdjusted

Mantive isso simples e o meu caso de uso mais comum. Não é uma resposta perfeita para minha pergunta original, mas fornece o que eu estava procurando.

    
por 16.12.2011 / 15:01

Tags