Как проверить, существует ли файл путем обрезки заданной строки? - PullRequest
0 голосов
/ 22 ноября 2018

Допустим, у меня есть следующие файлы Foo-Bar1.mp3 Foo-Bar2.jpg Foo-Bar1.mp3 Foo-Bar1.mp4 Я хочу загрузить их, чтобы они были в URL-адресе, подобном www.example.com/1/Foo%20-Bar1.mp3 Я хочу сократить URL-адрес, чтобы я мог использовать его, чтобы проверить, существует ли файл, прежде чем я его скачаю

if [ ! -f Foo-Bar1.mp3 ]; then
#Download it
fi`

1 Ответ

0 голосов
/ 22 ноября 2018

Вы можете использовать расширение параметра для достижения этой цели:

 $ url='www.example.com/1/Foo%20-Bar1.mp3'
 $ name=${url##*/}
 $ echo $name
    Foo%20-Bar1.mp3
 $ echo ${name/\%20/}
     Foo-Bar1.mp3

С уважением!

Примечание. Как отмечается @oguzismail, вы можете использовать echo -e $ {name //% / \ x} для декодирования каждого символа URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...