我想下载一个 youtube 频道的所有视频列表并按时长排序。这是我用youtube-dl resp 尝试过的。yt-dlp:
yt-dlp --skip-download "url_to_channel" --get-duration --get-title > list
然后像cat list | sed '$!N;s/\n/ /g' | sort
. 但是,这不起作用,因为持续时间是第二个打印的(并且sort -k2
由于标题包含空格而无济于事)。
在一天结束时,我还想获取 url 和标题,然后将其通过管道传输到 html 文件(或乳胶-> pdf)以获取带有可点击 url 和缩略图的列表(这不是这个问题的内容,但是你写答案时可能会想到这一点;我只想先解决上面的简单案例)。
编辑
例如:
yt-dlp --skip-download "https://www.youtube.com/user/emacsrocks/videos" --get-duration --get-title > list_test
结果是
cat list_test
Parens of the Dead Live - Preparing for a new game, bonus stream, live on Twitch
1:06:45
Parens of the Dead Live - Improving the code 3 years later, live on Twitch
1:55:55
Emacs Rocks! Episode 17: Magit
2:39
Emacs Rocks! Episode 16: Dired
1:35
Parens of the Dead - Episode 8: The Hour of Reckoning
9:52
Parens of the Dead - Episode 7: Eaten by Zombies
3:50
Parens of the Dead - Episode 6: Quickly, hide!
9:44
Parens of the Dead - Episode 5: Re-animated
9:09
Parens of the Dead - Episode 4: Waking the Dead
4:59
Parens of the Dead - Episode 3: What Lies Beneath
9:27
Parens of the Dead - Episode 2: Frontal Assault
8:02
Parens of the Dead - Episode 1: Lying in the Ground
11:33
Emacs Rocks! Episode 15: restclient-mode
2:24
Emacs Rocks at WebRebels! Part 05: more js2-refactor
55
Emacs Rocks at WebRebels! Part 04: more js2-refactor
1:58
Emacs Rocks at WebRebels! Part 03: js2-refactor
59
Emacs Rocks at WebRebels! Part 02: multiple-cursors
41
Emacs Rocks at WebRebels! Part 01: Jumping to the next slide
2:19
Emacs Rocks! Episode 14: Paredit
3:25
Extending Emacs Rocks! Episode 08
8:10
Extending Emacs Rocks! Episode 07
11:06
Emacs Rocks! Episode 13: multiple-cursors
3:56
Emacs Rocks! Episode 12: Working with HTML
1:54
Extending Emacs Rocks! Episode 06
9:26
Emacs Rocks! Episode 11: swank-js
4:35
Extending Emacs Rocks! Episode 05
9:18
Extending Emacs Rocks! Episode 04
10:44
Extending Emacs Rocks! Episode 03
10:32
Extending Emacs Rocks! Episode 01
11:15
Extending Emacs Rocks! Episode 02
8:00
Emacs Rocks! Live at WebRebels
18:18
Emacs Rocks! Episode 10: Jumping around
2:07
Emacs Rocks! Episode 09: expand-region
2:39
Emacs Rocks! Episode 08: mark-multiple
1:30
Emacs Rocks! Episode 07: Mind. Exploded.
1:30
Emacs Rocks! Episode 06: Yeah! Snippets!
1:41
Emacs Rocks! Episode 05: Macros in style
1:31
Emacs Rocks! Episode 04: A rebind controversy
2:32
Emacs Rocks! Episode 03: A vimgolf albatross
2:15
Emacs Rocks! Episode 02: A vimgolf eagle
3:15
Emacs Rocks! Episode 01: From var to this
2:47
您可以要求
youtube-dl
输出json
数据,然后对其进行处理jq
(您将可以访问所有字段,而不仅仅是带有get-...
标志的字段)。这个命令:
将输出:
然后,您可以使用例如
sort
.