Если вы в порядке с awk
, то попробуйте выполнить следующее (не для этого нужно искать непрерывные вхождения алфавитов, а затем непрерывные вхождения цифр, не ограничивая его 4 или 5).
echo "test123x19853" | awk 'match($0,/[a-zA-Z]+[0-9]+/){print substr($0,RSTART,RLENGTH)}'
Если вы хотите искать только 1–4 цифры после 1-го непрерывного вхождения алфавитов, попробуйте выполнить следующее (моя awk
- старая версия, поэтому, используя --re-interval
, вы можете удалить ее, если у вас последняя версия ittoo) .
echo "test123x19853" | awk --re-interval 'match($0,/[a-zA-Z]+[0-9]{1,4}/){print substr($0,RSTART,RLENGTH)}'