RosettaCodeData/Task/Range-expansion/AWK/range-expansion.awk

23 lines
318 B
Awk

#!/usr/bin/awk -f
BEGIN { FS=","; }
{ s="";
for (i=1; i<=NF; i++) { expand($i); }
print substr(s,2);
}
function expand(a) {
idx = match(a,/[0-9]-/);
if (idx==0) {
s = s","a;
return;
}
start= substr(a,1, idx)+0;
stop = substr(a,idx+2)+0;
for (m = start; m <= stop; m++) {
s = s","m;
}
return;
}