У меня есть строка, например time=1234
, и я хочу извлечь только номер после знака =
. Однако это число может находиться в диапазоне от 0 до 100000 (например, - time=1
, time=23
, time=99999
и т. Д.).Поиск подстроки переменной длины в bash
Я пробовал такие вещи, как $(string:5:8}
, но это будет работать только для примеров определенной длины.
Как получить подстроку всего после знака =
? Я бы предпочел сделать это без внешних команд, таких как cut
или awk
, потому что я буду запускать этот скрипт на устройствах, которые могут иметь или не иметь этих функций. Я знаю, что есть примеры использования внешних функций, но я пытаюсь найти решение без его использования.
Поскольку ОП следующие лучшие практики, используя имена переменных строчными, вы можете сделать то же самое. –
... re: «лучшие практики», см. Http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap08.html, определяющие соглашения об именах переменных среды; поскольку переменные оболочки совместно используют пространство имен (то есть, например, установка переменной оболочки с именем PATH переопределяет содержимое переменной среды PATH), эти соглашения применяются также к переменным оболочки. –
Спасибо, обновленный по вашему совету, но причина, по которой я использовал прописную букву, так это не путайте с временем = part :) – Fma