Friday, April 3, 2009

一个批量下载文件的脚本

最近在重新学习英语发音,李笑来老师的博客上提供了很多相关方面的资料。 其中有些页面有很多单词发音的wav音频文件,但是我的浏览器无法播放这些音频文件。于是准备把他下载下来,但是呢一个一个地下载实在是太慢了,而且也感觉比较笨。 于是自然想到写一个脚本来干这件事情。
先去看了一下包含有音频文件的HTML页面的源码,音频文件的行非常有规律。
对于这样的文件使用Shell非常容易处理。 下面就是我写的一个简单的脚本:
#!/bin/bash
wget $1 -O wav.html
egrep ".wav\>" wav.html | awk -F '"' '{print $2}' > wav.list
wget -i wav.list

怎么使用呢?只要这样就行:

star@star-desktop:~/Documents/English/pronounce/words$ ./getWav.sh http://www.xiaolai.net/index.php/archives/4047.html

其实还可以再改一改,比如把下载文件名也改成通过参数传递进去。 不过这个已经够我用了。
一转眼功夫就下载完了所有文件,实在是高效啊。
Linux下通过Shell脚本高效地完成一些繁琐的事情实在是太酷了。

No comments:

Post a Comment