#!/bin/bash (cat /sys/devices/system/node/online | \ awk ' \ { \ split($1, parts, ","); \ for (part in parts) { \ split(parts[part], items, "-"); \ seq_start = items[1]; \ seq_end = items[2]; \ if (seq_start == "") {seq_start = 0;}; \ if (seq_end == "") {seq_end = seq_start;} \ for (seq = seq_start; seq <= seq_end; seq++) {print seq;} \ } \ }') | \ while read NODE do echo "Node #$NODE" (cat /sys/devices/system/node/node${NODE}/cpulist | \ awk ' \ { \ split($1, parts, ","); \ for (part in parts) { \ split(parts[part], items, "-"); \ seq_start = items[1]; \ seq_end = items[2]; \ if (seq_start == "") {seq_start = 0;}; \ if (seq_end == "") {seq_end = seq_start;} \ for (seq = seq_start; seq <= seq_end; seq++) {print seq;} \ } \ }') | \ while read CORE do echo -e "\tCore #$CORE" done done