다음과 같이 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 ) )