2011-12-27 184 views
2

我试图快速批量下载Youtube视频。我创建了一个文件,videos.txt,每行一个视频链接:shell脚本:创建新的bash进程

http://www.youtube.com/watch?v=********** 
http://www.youtube.com/watch?v=********** 
http://www.youtube.com/watch?v=********** 
... 

我有一个shell脚本,将下载的视频:

cat videos.txt | while read line; do 
    echo $line 
    youtube-dl $line 
done 

不过,我想加快通过将每个youtube-dl命令分支到其自己的进程/终端窗口来处理。 如何为每个youtube-dl命令创建一个新终端窗口/进程

注:我试着预先命令与/bin/bash -c但脚本是非常毛骨悚然......它不下载所有的视频。

回答

1

改变这一行:

youtube-dl $line 

youtube-dl $line & 

&开始在后台工作,让父母脚本继续。

但是,如果你有很长的网址抓取,请小心。 Youtube会因为你的网站干瘪而愁眉不展,并且系统上有太多的下载过程会导致事情停止或直接崩溃。

+1

啊哈!有用!顺便说一句,这只是一个测试。我不想让Youtube的服务器崩溃和/或让他们的系统管理员疯狂......我的列表中只有6个视频。 :D – 2011-12-27 19:55:28

-1

Youtube有一部分服务条款(Youtube TOS,请参阅5-B)明确禁止这一点。

+0

-1资料丰富但多余 – Sorin 2011-12-27 21:03:54