我有一个名为 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 ) )