O seguinte comando pode ser encapsulado em um arquivo em lotes:
grep --color=always -E "^|$2" "$1"|less -SFXER
O parâmetro $1 é o nome do arquivo e $2 é o padrão de pesquisa. Pontos a serem observados:
-
grep -E(ouegrep) permite corresponder a mais de um padrão de pesquisa; - correspondendo a
^(início da linha) garante que todas as linhas sejam listadas; - a correspondência de
$2faz com que a string de pesquisa seja destacada; -
grep --color=alwayscopia as seqüências de escape de destaque para o pipe; -
less -Rfaz com quelessreproduza o realce em vez de mostrar a sequência de escape.
Não é a melhor solução, mas algum tipo de resposta. Observe que o comando listará todas as linhas, destacando o padrão, enquanto less -p omite as linhas à frente da primeira correspondência: para reproduzir isso, você precisará usar sed .