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