izabera 1426128368 learn # getrange3(){ local d=[0-9] i n;[[ $1 =~ ^($d+(-$d+)?,)*$d+(-$d+)?$ ]]||return;IFS=, read -a i<<<$1;for i in ${i[@]};do eval nums+=({${i%-*}..${i#*-}});done;echo ${nums[*]};};getrange3 1,3,8,9-15,23,4 izabera 1426128515 forget izabera 1447739496 learn # getrange3()(d=[0-9] r="$d+(-$d+)?";[[ $1 =~ ^$r(,$r)*$ ]]&&eval "echo {`sed "s/\($d$d*\)-\($d$d*\)/{\1..\2}/g"<<<"$1"`}");getrange3 1,3,8,9-15,23,4 izabera 1447740325 forget izabera 1447740332 learn # getrange3()(s={${1//-/..}} s=${s//,/\},{};eval echo {$s}|tr -d {});getrange3 1,3,8,9-15,23,4 izabera 1447740383 forget izabera 1447740391 learn # getrange3()(s={${1//-/..}};eval echo {${s//,/\},{}}|tr -d {});getrange3 1,3,8,9-15,23,4