Bash:
Convertendo uma string para minúsculas
How to:
# Usando tr
echo "Converta ESSA STRING para minúsculas" | tr '[:upper:]' '[:lower:]'
# Usando a construção ${variável,,}
minha_string="MAIÚSCULAS para minúsculas"
echo ${minha_string,,}
# Com awk
echo "Outra STRING em Maiúsculas" | awk '{print tolower($0)}'
Saída de exemplo para os comandos acima:
converta essa string para minúsculas
maiúsculas para minúsculas
outra string em maiúsculas
Deep Dive
A necessidade de converter strings para minúsculas remonta ao início da computação, onde a consistência na entrada de dados era crítica. No tempo dos primeiros computadores, a capacidade de processamento e memória era limitada, então a normalização de strings para um formato padrão economizava recursos valiosos.
No UNIX e em seus derivados, como o Linux, ferramentas como tr
, awk
, e as capacidades internas do Bash, como operadores de substituição de padrões, oferecem diferentes formas de realizar a conversão para minúsculas.
tr
é um comando padrão do UNIX que significa “translate” ou “transliterate”. É simples e rápido para transformações de personagens.${variável,,}
é uma funcionalidade introduzida no Bash 4. É uma maneira direta de modificar strings sem chamar programas externos.awk
é uma linguagem de programação e uma ferramenta poderosa para processamento de textos. Usarawk
pode ser útil quando já se está trabalhando com ele em um pipeline de processamento de texto e se deseja manter a consistência.
Ao escolher um método, considere o contexto do seu script. Por exemplo, para scripts simples, tr
é geralmente suficiente. Se estiver trabalhando dentro de um script Bash maior que faz uso de variáveis, então ${variável,,}
é limpo e eficiente. Se precisar fazer mais processamento de dados além de apenas converter para minúsculas, awk
pode ser a melhor ferramenta para integrar essa funcionalidade.