この数値配列をどのように並べ替えることができますか? [閉鎖]

この数値配列をどのように並べ替えることができますか? [閉鎖]

次のように colNums という配列があります。

1         
5         
4       
2    
2     
7     

echo "$colNums" を使用して配列を印刷すると、次のように印刷されます。このリストをソートしたいです。

私の考えでは

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

ただし、何らかの理由で sortedNumCols には最初の数字の 1 のみが含まれます。誰でも助けることができますか?

編集:配列ではなく文字列があることがわかりました。私はそれをソートされた文字列に入れ、ここに2番目の答えを与えました。 https://stackoverflow.com/questions/2625976/sorting-space-delimited-numbers-with-linux-bash

ベストアンサー1

これは私にとって効果的です。

sortedColNums=( $( printf "%s\n" "${colNums[@]}" | sort -n ) )

おすすめ記事