Como posso obter esse array de números classificados? [fechadas]

2

Eu tenho uma matriz chamada colNums que se parece com isso:

1         
5         
4       
2    
2     
7     

Quando imprimo o array com echo "$ colNums", ele imprime assim. Eu quero essa lista ordenada.

Estou tentando

    sortedColNums=($(for i in "${colNums[@]}"; do echo $i; done | sort -n))

mas, por algum motivo, o sortedNumCols contém apenas o primeiro número, 1. Alguém pode ajudar?

EDIT: Descobri que eu tinha uma string, em vez de uma matriz. Eu entendi em uma seqüência ordenada com a segunda resposta aqui: link

    
por Rio 12.04.2015 / 09:24

1 resposta

3

Isso funciona para mim:

sortedColNums=( $( printf "%s\n" "${colNums[@]}" | sort -n ) )
    
por 12.04.2015 / 10:15

Tags