Tags de Cores e formatação no Terminal
Publicado por Maxwell Aguiar Silva (última atualização em 03/12/2021)
[ Hits: 946 ]
Esse script permite utilizar tags para formata a saída de texto no terminal.
Verifique o código para ver todas as tags disponíveis.
Utilização:
# Importa a função.
. lib-simple-tags
# Exemplo 1
cat <<EOF | simple-tags
[b]Bold[/b]
[i]Italic[/i]
[u]Underline[/u]
Normal [negative]Negativo[/negative] Normal
[red]Vermelho[reset]
[red][#white]Vermelho fundo branco[reset]
[blink]Piscando[/blink]
[reset]
EOF
# Exemplo 2
simple-tags "[strike]Traçado[/strike]"
#!/bin/bash
function simple-tags( )
{
# Tabela de substituição das tags ( ECMA-48 ).
local tags_table
tags_table=$( cat <<-EOF
"[reset]" "\\e[0m"
"[b]" "\\e[1m"
"[bold]" "\\e[1m"
"[faint]" "\\e[2m"
"[i]" "\\e[3m"
"[italic]" "\\e[3m"
"[u]" "\\e[4m"
"[underline]" "\\e[4m"
"[blink]" "\\e[5m"
"[fast-blink]" "\\e[6m"
"[negative]" "\\e[7m"
"[hidden]" "\\e[8m"
"[strike]" "\\e[9m"
"[primary-font]" "\\e[10m"
"[default-font]" "\\e[10m"
"[font-1]" "\\e[11m"
"[font-2]" "\\e[12m"
"[font-3]" "\\e[13m"
"[font-4]" "\\e[14m"
"[font-5]" "\\e[15m"
"[font-6]" "\\e[16m"
"[font-7]" "\\e[17m"
"[font-8]" "\\e[18m"
"[font-9]" "\\e[19m"
"[fraktur]" "\\e[20m"
"[du]" "\\e[21m"
"[double-underline]" "\\e[21m"
"[/b]" "\\e[22m"
"[/bold]" "\\e[22m"
"[/faint]" "\\e[22m"
"[/i]" "\\e[23m"
"[/italic]" "\\e[23m"
"[/fraktur]" "\\e[23m"
"[/u]" "\\e[24m"
"[/underline]" "\\e[24m"
"[/du]" "\\e[24m"
"[/double-underline]" "\\e[24m"
"[/blink]" "\\e[25m"
"[/negative]" "\\e[27m"
"[/hidden]" "\\e[28m"
"[/strike]" "\\e[29m"
"[black]" "\\e[30m"
"[red]" "\\e[31m"
"[green]" "\\e[32m"
"[yellow]" "\\e[33m"
"[blue]" "\\e[34m"
"[magenta]" "\\e[35m"
"[cyan]" "\\e[36m"
"[white]" "\\e[37m"
"[custom-color]" "\\e[38m"
"[default-color]" "\\e[39m"
"[#black]" "\\e[40m"
"[#red]" "\\e[41m"
"[#green]" "\\e[42m"
"[#yellow]" "\\e[43m"
"[#blue]" "\\e[44m"
"[#magenta]" "\\e[45m"
"[#cyan]" "\\e[46m"
"[#white]" "\\e[47m"
"[#custom-color" "\\e[48m"
"[#default-color]" "\\e[49m"
"[br]" "\\n"
EOF
)
# Troca as tags pelos códigos do terminal.
function replace-tags()
{
# Dados de entrada.
local result=$*
while IFS=$'\t' read -r str_from str_to;
do
str_from=${str_from//\"/}
str_to=${str_to//\"/}
result=${result//"$str_from"/"$str_to"}
done <<< "$tags_table"
echo -e "$result"
}
# Lê a entrada de dados.
local result=$*
if [[ "$#" -ge 1 ]];
then
replace-tags "$*"
else
while read -r line;
do
replace-tags "$line"
done
fi
}
Gravar uma imagem ISO em um CD-RW
Reconhecendo controladora online
Sincronizando seu hosts.deny com blacklist online
Script "go" v.2 - Inicia Sessoes SSH e Terminal Service
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Pergunta: Meu teclado não está respondendo direito como e consertar? (2)
Secure boot, artigo interessante, nada técnico. (6)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (0)









