Ordenando strings em shell script
Dica publicada em Shell Script / Miscelânea
Ordenando strings em shell script
Para ordenar o conteúdo duma string em várias linguagens de programação, utilizamos geralmente as funções (ou métodos) split e sort.
Mas em shell script não dispomos de algo similar. Porém, como o shell oferece diversas ferramentas fantásticas, nada como um simples encadeamento de comandos para criarmos nosso próprio método de ordenação!
Para isso, usaremos o trio:
Assim:
echo $string | grep -o '.' | sort -n | tr -d '\n'; echo
Onde:
Pronto! Simples assim. ;)
Mas em shell script não dispomos de algo similar. Porém, como o shell oferece diversas ferramentas fantásticas, nada como um simples encadeamento de comandos para criarmos nosso próprio método de ordenação!
Para isso, usaremos o trio:
- grep
- sort
- tr
Assim:
echo $string | grep -o '.' | sort -n | tr -d '\n'; echo
Onde:
- grep -o '.' : Irá separar com um 'new line' cada caractere da string
- sort -n : Ordenará os caracteres de acordo com seus valores numéricos na tabela ASCII
- tr -d '\n' : Removerá os 'new lines' devolvendo a string ao seu formato original
Pronto! Simples assim. ;)