我怎样才能对这个数字数组进行排序?

我怎样才能对这个数字数组进行排序?

我有一个名为 colNums 的数组,如下所示:

1         
5         
4       
2    
2     
7     

当我用 echo "$colNums" 打印数组时,它会像这样打印。我想要对这个列表进行排序。

我想

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

但由于某种原因,sortedNumCols 只包含第一个数字,1。任何人都可以帮忙吗?

编辑:事实证明我有一个字符串而不是一个数组。我将其放入排序字符串中,并在此处给出了第二个答案: https://stackoverflow.com/questions/2625976/sorting-space-delimited-numbers-with-linux-bash

答案1

这对我有用:

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

相关内容