J'ai une URL comme celle-ci
https://vimeo.com/library/videos/angular-fire-theme/table-of-contents
Dans un script bash, je veux analyser cette URL afin d'obtenir le texte "angular-fire-theme"
Les URL sont de format cohérent, c'est-à-dire qu'elles ont une table des matières à la fin et le format à l'avant.
Merci d'avance pour votre temps.
Utilisez cette commande:
echo 'https://vimeo.com/library/videos/angular-fire-theme/table-of-contents' | cut -d / -f6
Cela sépare l'URL (prise de l'entrée standard, d'où le echo
) par /
et affiche le sixième champ. (le premier champ est "https:", le second est "", le troisième est "vimeo.com", etc.). Notez que cela dépend du nombre de barres obliques avant que le format ("angular-fire-theme" dans votre exemple) ne change.
Plus de façons de le faire:
echo 'https://vimeo.com/library/videos/angular-fire-theme/table-of-contents' | sed 's_.*/\(.*\)/table-of-contents_\1_'
Cela trouve la partie de l'URL juste avant la "table des matières" et la renvoie.
echo 'https://vimeo.com/library/videos/angular-fire-theme/table-of-contents' | sed 's_.*/videos/\(.*\)/.*_\1_'
Cela trouve la partie de l'URL immédiatement après les "vidéos" et la renvoie.