下载文件名并将其更改为txt文件中的网址列表

时间:2016-07-04 12:08:58

标签: unix command-line wget

假设我有一个.txt文件,其中有一个我要下载的图像链接列表。 的exaple:

image.jpg
image2.jpg
image3.jpg

我使用:cat images.txt | xargs wget并且它可以正常使用

我现在要做的是提供另一个.txt文件,格式如下:

some_id1:image.jpg
some_id2:image2.jpg
some_id3:image3.jpg

我想要做的是分割':'中的每一行,下载右边的链接,并更改下载的文件名,并在左侧提供ID。

我想以某种方式使用wget image.jpg -O some_id1.jpg

所以输出将是:

some_id1.jpg
some_id2.jpg
some_id3.jpg

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我对这些任务的转向是awk:

while read line; do lfn=`echo "$line" | awk -F":" '{ print $1".jpg" }'` ; rfn=`echo "$line" | awk -F":" '{ print $2 }'` ; wget $rfn -O $lfn ; done < images.txt

当然,这假设所有本地文件名都应该具有 .jpg 扩展名。