Как удалить все символы, начиная с определенного символа индекса в сценариях оболочки - PullRequest
1 голос
/ 04 июля 2019
K="Google Chrome 75.0.3770.100"
echo ${K//[a-zA-Z]/}

выход


75.0.3770.100

Ожидаемый результат


75

Необходимо удалить все символы, начиная с определенного индексного символа; скажем .

1 Ответ

2 голосов
/ 04 июля 2019

Вы можете использовать extglob, чтобы сделать это за один шаг:

shopt -s extglob

K="Google Chrome 75.0.3770.100"
echo "${K//@([a-zA-Z ]|.*)/}"

75

Детали выражения:

  • @(...): сопоставить одно из выражений внутри (...), разделенных |
  • [a-zA-Z ]: совпадение [a-zA-Z] букв или пробелов
  • |: или
  • .*: любая строка, начинающаяся с точки
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...