我有一个这样的网址
https://vimeo.com/library/videos/angular-fire-theme/table-of-contents
在 bash 脚本中,我想解析此 url,以便获取文本“angular-fire-theme”
这些 URL 的格式是一致的,即,它们末尾有目录,前面有格式。
在此先感谢您的时间。
答案1
使用此命令:
echo 'https://vimeo.com/library/videos/angular-fire-theme/table-of-contents' | cut -d / -f6
这将 URL(取自标准输入,因此为echo
)拆分/
并输出第六个字段。(第一个字段是“https:”,第二个字段是“”,第三个字段是“vimeo.com”,等等)。请注意,这取决于格式(示例中的“angular-fire-theme”)前的斜杠数量不变。
更多方法:
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 中紧接着“videos”的部分并将其输出。