Capturar variável em shell script na coloração padrão, sem ser colorido [RESOLVIDO]

1. Capturar variável em shell script na coloração padrão, sem ser colorido [RESOLVIDO]

Helder Pereira
HelderPJR

(usa CentOS)

Enviado em 30/05/2022 - 13:30h

Pessoal, boa tarde.
Estou montando um script para monitorar o Status de alguns aparelhos que tenho na empresa, porém o nome do status (Pausa, Indisponivel...) são mostrados e capturados de forma colorida (Pausa na cor amarela, Indisponivel na cor vermelha).

No momento do script ler e comparar a variável (IF) ele acaba não reconhecendo que Pausa é igual a Pausa na cor amarela. Existe alguma forma de retirar a coloração no momento de capturar a váriavel ou algo que possa ser feito para o IF reconhecer que Pausa é igual a Pausa independente da cor?




  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 30/05/2022 - 14:51h


HelderPJR escreveu:

Pessoal, boa tarde.
Estou montando um script para monitorar o Status de alguns aparelhos que tenho na empresa, porém o nome do status (Pausa, Indisponivel...) são mostrados e capturados de forma colorida (Pausa na cor amarela, Indisponivel na cor vermelha).

No momento do script ler e comparar a variável (IF) ele acaba não reconhecendo que Pausa é igual a Pausa na cor amarela.
Existe alguma forma de retirar a coloração no momento de capturar a variável ou algo que possa ser feito para o IF reconhecer que Pausa é igual a Pausa independente da cor?

Boa tarde Helder.
Para "Limpar" o resultado, use o sed,
Exemplos:
echo -e "\e[1;33;40m(paused)\n\e[1;31;40m(Unavailable)\e[0m"|cat -vet
^[[1;33;40m(paused)$
^[[1;31;40m(Unavailable)^[[0m$

Sanitizado
echo -e "\e[1;33;40m(paused)\n\e[1;31;40m(Unavailable)\e[0m"|sed -r 's/[^[:alpha:]]+|m$//g;s/^m//'|cat -A
paused$
Unavailable$
Ou:
echo -e "\e[1;33;40m(paused)\n\e[1;31;40m(Unavailable)\e[0m"|sed -r 's/^.*\(|\).*//g'
paused
Unavailable

É possível validar mesmo com a cor:
echo -e "\e[1;33;40mPARADO\e[0m"|grep -qi 'parado'  && echo "CASOU" || echo "Não CASOU" 

______________________________________________________________________
Importante:
Se te ajudei, retribua!
É simples....
Marque o tópico como resolvido e,
escolha a MELHOR RESPOSTA

______________________________________________________________________
Att.: Marcelo Oliver
______________________________________________________________________






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts