Насколько я понимаю, * соответствует нулю или более и + соответствует одному или нескольким.Поэтому, когда я сделал это на macOS:
echo "1" | sed 's/[0-9]*//g'
Номер был удален.
Но если я сделаю это:
echo "1" | sed 's/[0-9]+//g'
Номер все еще будет там.
Но разве [0-9] + также не должно совпадать с "1"?