使用wget下载图片并以指定文件名保存
Using wget to download images and saving with specified filename
我正在使用 wget mac 终端从一个文件中下载图像,其中每个图像 url 都是它自己的行,并且与此命令完美配合:
cut -f1 -d, images.txt | while read url; do wget ${url} -O $(basename ${url}); done
但是我想指定它保存的输出文件名,而不是使用基本名称。文件名在下一列中指定,用 space 或逗号分隔,我不太明白如何告诉 wget 使用第二列作为它应该作为 -O 名称的名称。
我确信这是对我的上述命令的一个简单更改,但在阅读了此处和其他网站上的数十篇不同帖子后,我无法弄明白。任何帮助,将不胜感激。
如果你使用空格作为分隔符就很简单了:
cat images.txt | while read url name; do wget ${url} -O ${name}; done
说明:您没有像示例中那样每行只读取一个变量 (${url}
),而是读取了两个变量(${url}
和 ${name}
)。第二个是您的本地文件名。我假设您的 images.txt
文件看起来像这样:
http://cwsmgmt.corsair.com/newscripts/landing-pages/wallpaper/v3/Wallpaper-v3-2560x1440.jpg test.jpg
我正在使用 wget mac 终端从一个文件中下载图像,其中每个图像 url 都是它自己的行,并且与此命令完美配合:
cut -f1 -d, images.txt | while read url; do wget ${url} -O $(basename ${url}); done
但是我想指定它保存的输出文件名,而不是使用基本名称。文件名在下一列中指定,用 space 或逗号分隔,我不太明白如何告诉 wget 使用第二列作为它应该作为 -O 名称的名称。
我确信这是对我的上述命令的一个简单更改,但在阅读了此处和其他网站上的数十篇不同帖子后,我无法弄明白。任何帮助,将不胜感激。
如果你使用空格作为分隔符就很简单了:
cat images.txt | while read url name; do wget ${url} -O ${name}; done
说明:您没有像示例中那样每行只读取一个变量 (${url}
),而是读取了两个变量(${url}
和 ${name}
)。第二个是您的本地文件名。我假设您的 images.txt
文件看起来像这样:
http://cwsmgmt.corsair.com/newscripts/landing-pages/wallpaper/v3/Wallpaper-v3-2560x1440.jpg test.jpg