SED - texto para maiúsculas, minúsculas, pascal case e camel case

Publicado por Fábio Berbert de Paula em 11/06/2020

[ Hits: 9.073 ]

Blog: https://fabio.automatizando.dev

 


SED - texto para maiúsculas, minúsculas, pascal case e camel case



Dando sequência a série de dicas sobre o sed, hoje veremos como converter texto para maiúsculas, minúsculas, pascal case e camel case.

Converter em maiúsculas

Para converter todo o texto para letras maiúsculas (uppercase), use a seguinte sintaxe:

echo viva o linux | sed 's/^.*$/\U&/'
VIVA O LINUX

Onde:
  • s = substitua
  • /^.*$/ = tudo o que estiver entre o início e o fim do texto
  • \U = a partir daqui todas as letras serão UPPERCASE
  • & = todo o texto em que a primeira expressão combinou (^.*$)

Converter em minúsculas

A conversão para minúsculas segue a mesma linha, a única coisa que muda é o \U de UPPERCASE que vira \L de LOWERCASE:

echo VIVA O LINUX | sed 's/^.*$/\L&/'
viva o linux

Pascal Case

Pascal Case significa uma frase composta por todas palavras iniciando por uma letra maiúscula. Sendo assim vamos começar convertendo todo o texto para minúsculas e em seguida converter cada letra inicial para maiúscula:

echo vIVa O LInux | sed -E 's/^.*$/\L&/ ; s/\w+/\u&/g'
Viva O Linux

As novidades aqui ficam por conta de:
  • \w+ = combina com cada palavra do texto
  • \u = converte apenas a próxima letra para maiúsculo
  • g = global, necessário para processar todas as combinações

Camel Case

Camel Case se diferencia do Pascal Case na primeira letra da frase, que sempre começa por letra minúscula. Também irei remover os espaços em branco do texto:

echo vIVa O LInux | sed -E 's/^.*$/\L&/ ; s/\w+/\u&/2g ; s/\s//g'
vivaOLinux

As novidades aqui ficam por conta de:
  • s/\w+/\u&/2g - adicionei apenas o número 2 ali, onde 2g significa que só irei proceder com o replace a partir da segunda ocorrência do padrão
  • s/\s//g - e aqui removo todos os espaços em branco

 ____                                _ 
/ ___|  ___  ___   _   _  ___  _   _| |
\___ \ / _ \/ _ \ | | | |/ _ \| | | | |
 ___) |  __/  __/ | |_| | (_) | |_| |_|
|____/ \___|\___|  \__, |\___/ \__,_(_)
                   |___/               

Outras dicas deste autor

Unetbootin - Failed to load COM32 file menu.c32 [RESOLVIDO]

Otimizando conexões entre PHP e MySQL

CSS3 - Forçando quebra de linha em URL longa

Fazer ModemManager ignorar ttyACM [Resolvido]

PHP: Substituindo somente a primeira ocorrência de uma palavra na string

Leitura recomendada

Busca por string dentro dos arquivos

Sed - como salvar alterações no arquivo

sed - Eliminando linhas em branco

Exibindo o nome completo dos pacotes instalados no Debian e derivados

SED - substituir apenas a ocorrência N de uma string

  

Comentários
[1] Comentário enviado por maurixnovatrento em 11/06/2020 - 23:44h


Essa dica é muito boa.

___________________________________
Conhecimento não se Leva para o Túmulo.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts