0

我有一个数组,其中包含 CPU 核心编号和每个核心的编号。数组是总数。

我该如何排序

totals=( CPU0=12345 CPU1=23456 CPU3=01234) 

根据数字并返回 cpu 编号的排序版本,例如 (3,0,1) 表示它已排序,核心 3 是最小值,核心 1 是最大值,在 bash 中?然后将 (3,0,1) 分配给数组?

4

1 回答 1

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))}') )
于 2012-07-23T09:02:47.093 回答