У меня есть такой URL
https://vimeo.com/library/videos/angular-fire-theme/table-of-contents
В bash-скрипте я хочу разобрать этот URL, чтобы получить текст «angular-fire-theme»
URL-адреса согласованы по формату, т.е. они имеют оглавление в конце и формат впереди.
Заранее спасибо за ваше время.
Используйте эту команду:
echo 'https://vimeo.com/library/videos/angular-fire-theme/table-of-contents' | cut -d / -f6
Это разделяет URL (взятый от стандартного входа, следовательно echo
) /
и производит шестое поле. (первое поле "https: ", второй"", третью является "vimeo.com", и т.д.). Обратите внимание, что это зависит от количества наклонных черт перед форматом ("угловая тема огня" в Вашем примере) не изменение.
echo 'https://vimeo.com/library/videos/angular-fire-theme/table-of-contents' | sed 's_.*/\(.*\)/table-of-contents_\1_'
Это находит часть URL сразу перед "оглавлением" и производит его.
echo 'https://vimeo.com/library/videos/angular-fire-theme/table-of-contents' | sed 's_.*/videos/\(.*\)/.*_\1_'
Это находит часть URL сразу после "видео" и производит его.