#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
Комментариев нет:
Отправить комментарий