我在终端中使用wget下载大量图像。
例如 $ wget -i images.txt
我在images.txt文件中拥有所有图像URL。
但是,图片网址往往像 example.com/unqiueNumber/images/main_250.jpg
这意味着所有图像都命名为 main_250.jpg
我真正需要的是将图像与每个图像的整个URL保存在一起,以便“唯一编号”是文件名的一部分。
有什么建议么?
小智 5
假定图像的URL位于名为images.txt的文本文件中,每行一个URL,您可以运行
cat images.txt | sed 'p;s/\//-/g' | sed 'N;s/\n/ -O /' | xargs wget
以下载每个具有由URL组成的文件名的图像。
现在进行解释:
在此示例中,我将使用https://www.newton.ac.uk/files/covers/968361.jpg
https://www.moooi.com/sites/default/files/styles/large/public/product-images/random_detail.jpg?itok=ErJveZTY
images.txt(您可以在文件中添加任意数量的图像,只要它们具有相同的格式即可)。
cat images.txt 将文件内容通过管道传输到标准输出sed 'p;s/\//-/g' 将文件打印到stdout并在其中一行显示url,然后在下一行显示预期的文件名,如下所示:https://www.newton.ac.uk/files/covers/968361.jpg
https:--www.newton.ac.uk-files-covers-968361.jpg
https://www.moooi.com/sites/default/files/styles/large/public/product-images/random_detail.jpg?itok=ErJveZTY
https:--www.moooi.com-sites-default-files-styles-large-public-product-images-random_detail.jpg?itok=ErJveZTYsed 'N;s/\n/ -O /' 将每张图片的两行(URL和预期的文件名)合并为一行,并在两者之间添加-O选项(这是wget知道第二个参数是预期的文件名),该部分的结果看起来像这个:https://www.newton.ac.uk/files/covers/968361.jpg -O https:--www.newton.ac.uk-files-covers-968361.jpg
https://www.moooi.com/sites/default/files/styles/large/public/product-images/random_detail.jpg?itok=ErJveZTY -O https:--www.moooi.com-sites-default-files-styles-large-public-product-images-random_detail.jpg?itok=ErJveZTYxargs wget为每行运行wget作为选项,此示例的最终结果是当前目录中分别名为https:--www.newton.ac.uk-files-covers-968361.jpg和的两个图像https:--www.moooi.com-sites-default-files-styles-large-public-product-images-random_detail.jpg?itok=ErJveZTY。| 归档时间: |
|
| 查看次数: |
1160 次 |
| 最近记录: |