[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script-pt] Destaque de palavras no meio de um texto
From: |
Thiago Pezzo |
Subject: |
Re: [shell-script-pt] Destaque de palavras no meio de um texto |
Date: |
Fri, 02 Apr 2021 19:40:05 +0000 |
Obrigado pela resposta, Arkanon. Não conhecia a variável GREP_COLOR.
Acabei resolvendo de outra forma, de maneira simples até:
vermelho="$(tput setaf 1)"
txtreset="$(tput sgr 0)"
lynx -dump $URL | sed "s|Título|$vermelho\0$txtreset|"
Abraços,
Thiago Pezzo
Sent with ProtonMail Secure Email.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Wednesday, March 31, 2021 11:56 PM, Arkanon <arkanon@lsd.org.br> wrote:
> Olá, Thiago.
>
> Uma solução que eu uso muito é simplesmente grep. Ex:
>
> lynx -dump http://sistemas.unirio.br/telefones \
> | GREP_COLOR='1;32' grep --color=always -E '|Setor Número' \
> | GREP_COLOR='0;30;42' grep --color=always -E '|Referências'
>
> O conteúdo da variável GREP_COLOR é o código ANSI de escape da cor desejada.
> Você vai encontrar farto material na Internet, caso ainda não tenha
> intimidade com o assunto.
> O parâmetro --color usa a cor definida nessa variável (por default, vermelho
> em fundo transparente) mas, para que a cor "passe" de um pipe para outro,
> --color precisa do valor always (por default é auto).
> Com códigos ANSI de escape temos amplo controle das características do
> terminal, dependendo claro, das capacidades dele (determinadas pela
> biblioteca termcap).
> O comando tput é uma abstração muito cômoda para manipular esses códigos e há
> inclusive comandos que permitem a tradução da saída ANSI para HTML.
> Mas, EMHO, divertido mesmo é usar os códigos diretamente, hehe:
>
> echo -e "\e[4;35;40mHello\e[0m
> \e[0;31;40mC\e[1;31;40mo\e[0;30;41ml\e[0;32;40mo\e[1;32;40mr\e[0;30;42mf\e[0;33;40mu\e[1;33;40ml\e[0;30;43ml\e[0m
> \e[5;36;40mWorld\e[0m"
>
> Abraços e bom divertimento.
>
> Em qua., 31 de mar. de 2021 às 20:19, Thiago Pezzo por (shell-script-pt)
> <shell-script-pt@nongnu.org> escreveu:
>
> > Olá, pessoal,
> >
> > Estou quebrando a cabeça com um pequeno problema, vejam se podem me ajudar.
> >
> > Tenho um script para consultar uma página web pelo terminal. Mas gostaria
> > de,
> > na saída do texto, destacar os títulos das seções para ficar mais legível.
> > A única solução que cheguei com sucesso foi usando 'less -p':
> >
> > lynx -dump $URL | less -p "Título 1:|Título 2:|Título 3:"
> >
> > Como eu poderia, por exemplo, colorir essas palavras (sem a necessidade de
> > paginar, o 'less' foi somente uma saída).
> >
> > Obrigado!
> > Thiago
> >
> > Sent with ProtonMail Secure Email.
> >
> > _______________________________________________
> > Lista brasileira de usuários de shell script
> > Endereço de e-mail da lista: shell-script-pt@nongnu.org
> > Para se inscrever ou desinscrever acesse:
> > https://lists.nongnu.org/mailman/listinfo/shell-script-pt
> > Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas,
> > acesse https://lists.nongnu.org/archive/html/shell-script-pt/
> >
> > NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor
> > utilize somente esta.
>
> --
> (o_ @arkanon (Twitter) __o
>
> //\ arkanon@lsd.org.br _`\<,
>
> V_/_ www.lsd.org.br (_)/(_)
>
> ---------------------------------