Tags de Cores e formatação no Terminal
Publicado por Maxwell Aguiar Silva (última atualização em 03/12/2021)
[ Hits: 543 ]
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 }
GETPLAMIGA - Baixe a Palavra Amiga do Bispo Macedo
Cadastrando usuários no Squid através de Shell Script
Somatório de valores do comando ps
Agora temos uma assistente virtual no fórum!!! (247)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
Lançado Ubuntu 24.04 Final (5)
redirecionando saida de comando touch para o AWK[AJUDA] (1)
iso de sistema 32 bit em atividade (14)
conflicting values set for option signed-by regarding source (1)