awk ' {
if (length($1) == 10 && $1 ~ /[0-9]+/) {
cnt++
numbers["area", NR] = substr($1,1,3) "-"
numbers["prefixes", NR] = substr($1,4,6) "-"
numbers["spec", NR] = substr($1,7,10)
}
for (xx in numbers) {
for (m=1 ; m <= cnt ; m++) {
if (xx ~ m) {
printf "%s", numbers[xx]
}; }; }
}' file
Might work, not tested.