Existe um comando que destaca uma certa expressão no texto?
Estou procurando algo como a função 'search' em menos, mas com saída de texto normal no stdout, em vez do less
visualizador.
Exemplo:
$ cat test.txt | highlight "an"
Perspectivas para uma retirada ordenada NATO de AFG um ist um sofreu dois contratempos como presidente Hamid Karzai dem um limite ded sobre tropas dos Estados Unidos um d o Talib um suspendeu as negociações de paz.
Poderia usar cores ou qualquer outro meio para destacar a expressão regular especificada.
bash
highlighting
Frank
fonte
fonte
highlight
comandoRespostas:
Não tenho certeza se isso é devido a um recurso ou apenas a alguns efeitos colaterais ocultos, mas isso funciona no GNU
grep
2.11:fonte
grep 'an' OR ''
. O''
sucesso não corresponde a nada em todos os locais da entrada. Somente oan
é destacado, porque você não pode destacar o nada. :-)grep --color -e 'an' -e ' '
(combinar um espaço que não pode ser colorido fez o truque). Muito melhor do que ir atrássed -e ''/an/s//$(printf "\033[33;1m&\033[0m")/''
, mas talvez o último seja mais eficiente. Altere 'an' para outro termo de pesquisa. ;)bashrc
apelidos e agora todos os meus apelidos estão destacados em vermelho. Super!alias aliases="clear;cat ~/.bashrc|grep --color \"alias\""
O ack tem uma
--passthru
opção que fará isso:fonte
ack-grep
... (o nomeack
é aplicado a um conversor de código Kanji)Você pode experimentar esse meu script. Isso permitirá que você especifique um arquivo ou obtenha uma entrada padrão. Você pode definir uma expressão regular do Python para o texto que deseja destacar. os padrões de texto destacados são verde neon (ei, eu uso um fundo preto!) Mas você pode alterar o código de cor ANSI .
Aqui está um exemplo.
Perspectivas para uma retirada ordenada NATO de AFG um ist um sofreu dois contratempos como presidente Hamid Karzai dem um limite ded sobre tropas dos Estados Unidos um d o Talib um suspendeu as negociações de paz.
As perspectivas de uma retirada ordenada da OTAN do Afeganistão sofreram dois reveses, já que o presidente Hamid Karzai exigiu limites às tropas dos Estados Unidos e o Taliban interrompeu as negociações de paz.
fonte
<b>
se você precisar colocar em negrito parte de uma palavra.$cat test.txt | grep --colour=auto -C 100000 an
"cor" também funciona. Você também pode definir um alias para fazer o grep sempre usar a opção:
alias grep='grep --colour=auto -C 100000'
Coloque o acima em /etc/profile.d/ em algum lugar ou no seu .bashrc ou o que for.
fonte
-C 1000000
você nunca será capaz de cumprimentar novamente. Basta fazeralias highlight='grep --colour=auto -C 1000000'. The cat in the first example is also not necessary:
grep --colour = auto -C 100000 file`.grep
lida com a coleção de linhas de contexto.)