Возможно, вы ищете что-то для редактирования скрипта оболочки, в этом случае этого может быть достаточно:
perl -i.bak -e 's/\b(var=\d+).*/$1/' shellscript.sh
-i
перезаписывает исходный файл, сохраняя копию в файле shellscript.sh.bak; команда подстановки находит присваивания переменной 'var' (а не более длинному имени, оканчивающемуся на 'var'), за которыми следуют знак равенства, некоторые цифры и любые нецифровые символы, и оставляет после себя только присвоение цифр.
В примере это дает:
var=1234
Обратите внимание, что регулярное выражение в Perl не является надежным - оно исправит это (сбросив закрывающую скобку).
: ${var=1234_number}
Работа со всеми такими возможными вариантами чрезвычайно довольно сложно:
echo $var=$other
OTOH, возможно, вы пытаетесь исключить цифры из переменной внутри сценария оболочки, в этом случае:
var=$(echo $var | perl -e 's/\D//g')
Вы также можете использовать «sed» для работы:
var=$(echo $var | sed 's/[^0-9]//g')