次のように 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 ) )