我有一个数组,其中包含 CPU 核心编号和每个核心的编号。 该数组是总计。
如何排序
totals=( CPU0=12345 CPU1=23456 CPU3=01234)
根据数字并返回 cpu 编号的排序版本,例如 (3,0,1) 表示它已排序,核心 3 是最小的,核心 1 是最大的,在 bash 中?然后将 (3,0,1) 赋给一个数组?
最佳答案
试试这个排序:
echo ${totals[*]} | tr ' ' '\n' | sort -n -t= -k2
要在新数组中仅存储 CPU 编号,请尝试:
sorted_cpu_numbers=( $(echo ${totals[*]} | tr ' ' '\n' | sort -n -t= -k2 | awk -F= '{print substr($1, 4, length($1))}') )
关于regex - 在 bash 和正则表达式中排序数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11609299/