Pular para o conteúdo

Como ordenar letras de uma palavra? [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Como ordenar letras de uma palavra? [RESOLVIDO]

Enviado em 29/03/2010 - 09:34h

Fala galera,

Bem, estou com uma dúvida aqui de como ordenar as letras de uma palavra. Será que já existe um comando
que faça tal coisa?

É o seguinte:

$ echo 'BAEDC' | ordernar_letras
ABCDE

A função ordenar_letras deve pegar a string de entrada BAEDC e ordenar, retornando ABCDE.

Fiz uma aqui, mas ficou muito custosa, nem vale a pena usar em que eu estou querendo.

Abraços
t+

Responder tópico

2. Re: Como ordenar letras de uma palavra? [RESOLVIDO]

Melhor resposta

Enviado em 30/03/2010 - 01:29h

Você pode tentar algo do tipo:

echo BAEDC | sed 's/./&\n/g' | sort
ou
echo BAEDC | fold -w1 | sort

Obs.: Note que a string na saída terá o formato:

A
B
C
D
E

Pois só assim é possível para o sort ordená-la.

3. Re: Como ordenar letras de uma palavra? [RESOLVIDO]

Enviado em 30/03/2010 - 01:15h

vixi cara, vc pode fazer algo como detectar quantas palavras A existe, quantas B e assim por diante, ai dpois vai add elas um por um

eu nunca olhei o manual do sort, ve lah tem algum parametro que faça isso com strings, duvido que tenha, mas vai saber neh

4. Re: Como ordenar letras de uma palavra? [RESOLVIDO]

Enviado em 30/03/2010 - 01:38h

echo 'BAEDC' | fold -w1 | sort | xargs | sed 's/ //g'

olha aew, aki deu certinho

5. Re: Como ordenar letras de uma palavra? [RESOLVIDO]

Enviado em 30/03/2010 - 01:45h

agr se for usar colunas o tal comando sed ja nao ajudou muito

echo 'BAEDC aaaa' | fold -w1 | sort | xargs | sed 's/ //g'

6. Re: Como ordenar letras de uma palavra? [RESOLVIDO]

Enviado em 30/03/2010 - 01:45h

agr com coluna ja está funcionando xD

echo 'BAEDC baedc' | sed 's/ /_/g' | fold -w1 | sort | xargs | sed 's/ //g' | sed 's/_/ /g'

7. Re: Como ordenar letras de uma palavra? [RESOLVIDO]

Enviado em 30/03/2010 - 14:28h

Vlw galera.. pelas respostas.

Agradeço ae o Douglas por ter dado raça nos exemplos e o SMarcell que mais uma vez chegou detonando!!

t+

8. Re: Como ordenar letras de uma palavra? [RESOLVIDO]

Enviado em 30/03/2010 - 14:40h

Só pra quem quiser saber como que ficou a função final:

ordenar_letras() {
fold -w1 | sort | tr '\n' '\ 0'
}

$ echo 'BAEDC' | ordernar_letras
ABCDE

Usei o tr para juntar as linhas em uma palavra.

É isso ae! t+


9. Re: Como ordenar letras de uma palavra? [RESOLVIDO]

Enviado em 15/02/2012 - 15:21h

Para que após a última letra a quebra de linha aconteça use assim:
$ echo BAEDC | fold -w1 | sort | sed -e ':a;$!N;s/\n//;ta'
ABCDE
$

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder