Если есть только одна группа цифр, вы можете сделать это в два шага (в одном раскрытии):
Удалите самый длинный начальный текст, который заканчивается цифрой.
$ text='Random 923 and more'
$ echo "'${text##*[0-9]}'"
' and more'
Затем удалите выбранный завершающий текст из исходной строки:
$ echo "'${text%"${text##*[0-9]}"}'"
'Random 9'
Это работает, если в конце текста нет дополнительных цифр.
Если кластеров цифр может быть несколько, а вам нужен только первый, он становится немного длиннее и требует двух дополнительных переменных.
$ text='Random 945 and more 752 numbers'
$ lead=${text%%[0-9]*}
$ trail=${text#"$lead"}
$ echo "'$lead${trail%%[!0-9]*}'"
'Random 945'