$ curl cheat.sh/
# If *x* is constant, the following parameter expansion performs
# substring extraction:

 b=${a:12:5}

# where **12** is the offset (zero-based) and **5** is the length
# 
# If the underscores around the digits are the only ones in the input,
# you can strip off the prefix and suffix (respectively) in two steps:

 tmp=${a#*_}   # remove prefix ending in "_"
 b=${tmp%_*}   # remove suffix starting with "_"

# If there are other underscores, it's probably feasible anyway, albeit
# more tricky.  If anyone knows how to perform both expansions in a
# single expression, I'd like to know too.
# 
# Both solutions presented are pure bash, with no process spawning
# involved, hence very fast.
# 
# [JB.] [so/q/428109] [cc by-sa 3.0]

$
Follow @igor_chubin cheat.sh