Filtrar saída interativa (parte superior)

Filtrar saída interativa (parte superior)

Como posso filtrar a saída de um programa de "atualização automática", topmantendo sua funcionalidade intacta?

Por exemplo, quero destacar meu nome de usuário na topsaída de. Minha ideia é usar algo assim:

top | grep --color -E "user|$"

Funciona na medida em que o nome do usuário fica realmente destacado, porém, o cursor não está onde deveria estar no programa superior e a última linha está faltando.

Tive resultados semelhantes com outros programas shell interativos, como wget (tentando destacar a barra de progresso usando sequências de escape) e rsync. Como posso filtrar adequadamente a saída de um programa interativo?

Responder1

Não faço ideia se isso vai funcionar (nunca usei).

Tente grc.

http://korpus.juls.savba.sk/~garabik/software/grc.html

Eu vi neste post onde eles fizeram funcionar com tail -f. Ele também menciona uma série de outras coisas possíveis para tentar.

https://unix.stackexchange.com/questions/8414/how-to-have-tail-f-show-colored-output?newsletter=1&nlcode=17737|321c

HTH

Encontrado código de exemplo ligeiramente relacionado em https://unix.stackexchange.com/questions/26313/colored-find-output

substituí find por top e brinquei com a instrução case um pouco como ter *bigbird*) como um caso (meu nome de usuário). O script não ficou satisfeito comigo, mas produziu alguns resultados coloridos (junto com mensagens de erro porque eu estava apenas hackeando-o e não codificando-o corretamente). Parece ser (pelo menos alguma) prova de conceito.

informação relacionada