我使用 wget
下载了 1200 个 jpeg 文件。但文件的名称基于下载它们的链接。
例如。http://www.*.*.*/index.php?id=0MwfTcqbP9dl1_icR3_gVezE8tlpUJt-wumA5hHjpjk
将下载名为 index.php?id=0MwfTcqbP9dl1_icR3_gVezE8tlpUJt-wumA5hHjpjk.jpg 的文件,但其名称位于服务器不同。现在我希望所有文件都以服务器上的名称命名。
一种方法是删除所有文件并使用 wget
选项 --content-dispostion
重新下载,但下载的总大小为 8GB,再次下载不是一个好的选择。
如何将所有下载的文件重命名为服务器上的名称?
编辑:使用 wget --content-disposition
或浏览器从链接下载的 jpeg 文件的名称将类似于 2014:08:09_18:07:51_IMG_5543.jpg (不是由 wget
创建的,它是服务器上的原始名称,上传者的文件名)。我希望所有文件都以其原始名称命名,而无需再次下载它们。
如果网络服务器支持 HEAD 请求,您可以使用 wget --server-response --spider $URL
等命令,否则您可以使用范围 0-1 来仅获取一个字节。获得响应标题后,您可以编写脚本来重命名。 ——吴永正
我是一名优秀的程序员,十分优秀!