Ir para o conteúdo
ou

Software livre Brasil

 Voltar a Comunidade d...
Tela cheia Sugerir um artigo

Shell Script: Invertendo strings usando vetores

17 de Novembro de 2014, 6:45 , por Software Livre Brasil - 0sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 3 vezes

Hoje trago um simples inversor de strings, mas que possui alguns comandos avançados.
Um colega deste site (truster0) perguntou o seguinte:

Fala pessoal, então não tenho muito conhecimento em shell e preciso fazer este exercicio abaixo:

Faça um script que verifique se um nome é um palíndromo. Uma palavra é um palíndromo se a sua leitura é a mesma da esquerda para a direita e vice versa. Dica: use um array para armazenar a palavra. Exemplo: ARARA, ANA, etc.

Me arrisquei e deu isso mas está dando erro:

#!/bin/bash

echo "Digite a palavra a ser testada"
read palavra

for ((i=o ; i<=tamanho ; i++))do
if ((palavra=palavra[((tamanho-1)-i))]
verifica=1

if(verifica -eq 0)then
echo "Igual de tras pra frente"
else
echo "Diferente de tras pra frente"
fi

No tópico: http://www.vivaolinux.com.br/topico/Shell-Script/Ajuda-com-Shell-Script-7

Então, mandei uma resposta pro problema:

#!/bin/bash

read -p "Digite a palavra a ser testada: " palavra

reverse="$(echo $palavra | rev)"

if [ "$reverse" = "$palavra" ]
then {
echo "Igual de tras pra frente"
}
else {
echo "Diferente de tras pra frente"
}
fi

Este é um script simples, pois usa comandos conhecidos do shell Linux. Mas o colega, não conformado com a solução, pediu que o script fosse iterado caractere por caractere. Então, resolvi elaborar um script mais avançado.

Pessoal, este script é muito simples, mas poderoso quando queremos compara caracteres individuais.


Fonte: http://www.vivaolinux.com.br/script/Invertendo-strings-usando-vetores

0sem comentários ainda

Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.