Как получить указанное c подмножество bash строки - PullRequest
0 голосов
/ 01 апреля 2020

Для строки, такой как "c-zyte5:p-6db39", как я могу проанализировать ее, чтобы получить заданное c подмножество, такое как p-6db39 - отключение как первых 9 символов, так и последних?

Ответы [ 2 ]

6 голосов
/ 01 апреля 2020

Вместо индексирования подстроки можно также использовать расширение параметра с удалением подстроки, чтобы удалить все символы слева вверх, начиная с первого ':', например

v="c-zyte5:p-6db39"
echo "${v##*:}"

Результат

p-6db39
3 голосов
/ 01 апреля 2020

Вы можете написать:

foo='"c-zyte5:p-6db39"'
echo "${foo:9:-1}"            # prints p-6db39

(см. Справочное руководство Bash , §3.3.3 «Расширение параметров оболочки» .)

...