Страницы

Поиск по вопросам

пятница, 14 февраля 2020 г.

Найти позицию последнего вхождения символа - Bash

#bash


У меня есть строка которая содержит список архивов

string="1.tar.gz 2.tar.gz 3.tar.gz"


Мне нужно получить из нее подстроку с последним архивом: то есть

string="3.tar.gz"


Для этого нужно, как я понимаю найти позицию последнего пробела (символ ' ') и извлечь
подстроку с помощью

${string:position}


с position до конца. К сожалению, средства для нахождения позиции последнего вхождения
в bash я не нашел. Подскажите, пожалуйста как это можно сделать.
    


Ответы

Ответ 1



можно воспользоваться встроенным в posix-совместимые оболочки средством parameter expansion: ${parameter##[word]} — удалить наиболее длинный префикс в вашем случае префиксом может служить '* ' (любые символы, за ними — пробел). пример: $ string="1.tar.gz 2.tar.gz 3.tar.gz" $ echo ${string##* } 3.tar.gz

Комментариев нет:

Отправить комментарий