Pular para o conteúdo

Trocar caracteres com acento de uma variável com comando TR

Responder tópico
  • Denunciar
  • Indicar

1. Trocar caracteres com acento de uma variável com comando TR

Enviado em 15/03/2018 - 22:45h

Boa noite pessoal, em meu script pretendo criar uma função que troca caracteres com acento para caracteres normal, pra isso estou tentando utilizar o comando TR
segue a funçao exemplo:




#!/bin/bash
troca ()
{
acento = "ááá"
semacento=`echo $acento | tr 'á' 'a'`
echo $semacento


O problema é que após a execução desse comando, o tr duplica a quantidade de letras trocadas, tendo a saída como: aaaaaa
Agradeço a atenção
}

Responder tópico

3. Re: Trocar caracteres com acento de uma variável com comando TR

Enviado em 16/03/2018 - 11:42h

iconv -f utf8 -t ascii//translit

4. Re: Trocar caracteres com acento de uma variável com comando TR

Enviado em 16/03/2018 - 12:10h

slackjeff escreveu:

Tenta

echo "$acento" | sed 's/á/a/g'


THE MAGIC SHELL PROGRAMMER.

Slackware user since ~2008
Meu canal no youtube:
https://www.youtube.com/SlackJeff

Meu Site:
http://www.slackjeff.com.br/

Meus Programas estão aqui:
https://notabug.org/jeffersonrocha

Meu PODCAST:
http://podcast.slackjeff.com.br/




Funcionou, muito obrigado, como posso usar o comando SED para trocar todos caracteres com acento de uma variável, para caracteres normais? preciso complementar a função para q ignore caracteres com acento.

5. Re: Trocar caracteres com acento de uma variável com comando TR

Enviado em 16/03/2018 - 12:57h

luc1497 escreveu:

Funcionou, muito obrigado, como posso usar o comando SED para trocar todos caracteres com acento de uma variável, para caracteres normais? preciso complementar a função para q ignore caracteres com acento.
Veja a minha resposta acima.

6. Re: Trocar caracteres com acento de uma variável com comando TR

Enviado em 16/03/2018 - 13:26h

sed -i 'y/áÁàÀãÃâÂéÉêÊíÍóÓõÕôÔúÚüÜçÇ/aAaAaAaAeEeEiIoOoOoOuUuUcC/' arquivo.txt 

7. Re: Trocar caracteres com acento de uma variável com comando TR

Enviado em 16/03/2018 - 23:22h

paulo1205 escreveu:

luc1497 escreveu:

Funcionou, muito obrigado, como posso usar o comando SED para trocar todos caracteres com acento de uma variável, para caracteres normais? preciso complementar a função para q ignore caracteres com acento.
Veja a minha resposta acima.


Paulo, eu vi sua resposta, muito obrigado, porém nunca vi o iconv e não sei como funciona, não sei nem onde por minha variável no seu comando, se tiver tempo e paciência, agradeço se puder me informar a respeito do comando.

8. Re: Trocar caracteres com acento de uma variável com comando TR

Enviado em 17/03/2018 - 13:17h

luc1497 escreveu:

paulo1205 escreveu:

luc1497 escreveu:

Funcionou, muito obrigado, como posso usar o comando SED para trocar todos caracteres com acento de uma variável, para caracteres normais? preciso complementar a função para q ignore caracteres com acento.
Veja a minha resposta acima.


Paulo, eu vi sua resposta, muito obrigado, porém nunca vi o iconv e não sei como funciona, não sei nem onde por minha variável no seu comando, se tiver tempo e paciência, agradeço se puder me informar a respeito do comando.


Seguem exemplos com base na dica do Paulo.
echo maçã|iconv -f utf8 -t ascii//translit
maca
var="maçã"
iconv -f utf8 -t ascii//translit <<< $var
maca


marcelo oliver


Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder