- Gerar link
- X
- Outros aplicativos
Postagem em destaque
- Gerar link
- X
- Outros aplicativos
A função swapcase, realiza uma troca entre caracteres; o que é minúsculo vira maiúsculo e vice-versa. Desenvolvedores Python conhecem bem esse método de strings.
Vou mostrar que com poucas linhas podemos criar essa função em Shell Script.
A grosso modo posso dizer que o comando responsável por toda essa mágica é o sed, mas antes precisamos preparar os parâmetros que iremos passar para ele.
Sintaxe: sed 'y/PADRAO/DESTINO/'
O comando busca pelo caractere em PADRÃO e substitui pelo caractere correspondente a posição em DESTINO.
Exemplo:
Transformando a letra 'a' de minúsculo para maiúsculo e vice-versa.
Observe que a letra 'a' em PADRAO, correspondente a letra 'A' em destino e a letra 'A' em PADRAO, corresponde a letra 'a' em DESTINO.
Jà imaginou montar o alfabeto todo ? Que trabalho que daria ?!! Por isso que utilizei o comando printf + awk para montar o alfabeto já com os caracteres correspondentes e armazená-los.
Script: xswapcase.sh
Testando...
Vou mostrar que com poucas linhas podemos criar essa função em Shell Script.
A grosso modo posso dizer que o comando responsável por toda essa mágica é o sed, mas antes precisamos preparar os parâmetros que iremos passar para ele.
Sintaxe: sed 'y/PADRAO/DESTINO/'
TAG | Descrição |
y | Transfere os caracteres em PADRAO que aparecem na fonte para o caractere correspondente no DESTINO. |
O comando busca pelo caractere em PADRÃO e substitui pelo caractere correspondente a posição em DESTINO.
Exemplo:
Transformando a letra 'a' de minúsculo para maiúsculo e vice-versa.
$ echo 'a' | sed 'y/aA/Aa/'
A
$ echo 'A' | sed 'y/aA/Aa/'
a
A
$ echo 'A' | sed 'y/aA/Aa/'
a
Observe que a letra 'a' em PADRAO, correspondente a letra 'A' em destino e a letra 'A' em PADRAO, corresponde a letra 'a' em DESTINO.
Jà imaginou montar o alfabeto todo ? Que trabalho que daria ?!! Por isso que utilizei o comando printf + awk para montar o alfabeto já com os caracteres correspondentes e armazená-los.
Script: xswapcase.sh
#!/bin/bash #------------------------------------------------- # Data: 28 de Novembro de 2016 # Criado por: Juliano Santos [SHAMAN] # Script: xswapcase.sh # Descrição: Inverte a formatação dos caracteres. # Página: http://www.shellscriptx.com.br # Github: https://github.com/shellscriptx #------------------------------------------------- # Imprimindo alfabeto em minúsculo, realizando conversão intercalada para maiúsculo. # Exemplo: aAbBcC... ORIGEM=$(printf '%s\n' {a..z} | awk '{printf "%s%s",$1,toupper($1)}') # Imprimindo alfabeto em maiúsculo, realizando conversão intercalada para minúsculo. # Exemplo: AaBbCc... DESTINO=$(printf '%s\n' {A..Z} | awk '{printf "%s%s",$1,tolower($1)}') # Transforma a cadeia de caracteres 'ORIGEM' em 'DESTINO'. # Exemplo: a -> A, A -> a, b -> B, B -> b, c -> C, C -> c ... sed "y/$ORIGEM/$DESTINO/" exit 0 #FIM
Testando...
Comentários
Postar um comentário