Como realço uma palavra ou uma frase na saída de um comando?

1

Por exemplo, eu digito lshw para listar os módulos de hardware; quando eu pressiono enter, isso me dá uma longa lista de saída, mas e se eu quiser destacar uma palavra ou frase na saída?

    
por YaserMowwlavezada 09.04.2016 / 15:13

2 respostas

5

De acordo com esta pergunta do StackOverflow, você pode usar grep -E --color

Por exemplo, se você quiser destacar a palavra "produto", faça isso:

lshw | grep -E --color 'product|'

Para destacar a palavra "produto" com saída em menos, você pode fazer isso:

lshw | grep -E --color=always 'product|' | less -R
    
por jeremy.Snidaro 09.04.2016 / 15:39
0

Usando seqüências de escape ANSI , pode-se colorir qualquer coisa no console. Combinando esse método com o awk, podemos filtrar palavras específicas e torná-las coloridas.

Considere este exemplo:

$> df | awk  '{for(i=1;i<=NF;i++){ if($i~/sda/) $i=sprintf("3[0;36m %s 3[0;00m",$i)}; print}'   

    
por Sergiy Kolodyazhnyy 09.04.2016 / 21:51