我有一个带音频的music.txt文件可供下载,如下所示:
http://somehow/music/hexfilename1.mp3 1.mp3
http://somehow/music/hexfilename2.mp3 2.mp3
http://somehow/music/hexfilename3.mp3 3.mp3
http://somehow/music/hexfilename4.mp3 4.mp3
我只想下载mp3文件,并保存为指定的名称。例如,从http://somehow/music/hexfilename1.mp3下载,我们将保存为1.mp3。
答案 0 :(得分:5)
您可以使用read
循环while
将read
变为变量:
while read a b; do wget -O "$b" "$a"; done < music.txt
答案 1 :(得分:2)
实际上,这是一项简单的工作,但可能有两种情况:
如果您的music.txt
与答案中的相似,那么url是第一个组,输出文件是第二个,那么您可以使用以下命令:
IFS="\n"
for line in $(cat music.txt)
do
url=$(echo $line | awk '{ print $1 }')
out=$(echo $line | awk '{ print $2 }')
wget "$url" -O "$out"
done
对于其他情况,您只需要那么多脚本,只需使用for
循环即可通过每一行并将参数传递给wget
。
希望这有帮助。