curl 选项用于在下载过程中重命名重复的文件名



如果磁盘上已经存在下载文件的文件名,curl 是否有自动更改文件名的选项?

Wget 通过在文件名末尾附加 .1、.2、.3、.4 等来自动执行此操作。

卷曲示例:

$ ls -al
drwx------. 3 user    user       219 Sep  6 17:12 .
drwxr-xr-x. 3 user    user        21 May 12 18:54 ..
-rw-rw-r--. 1 user    user    147415 Sep  6 16:47 image.jpg
$ curl -O https://website/context/path/image.jpg
$ ls -al
drwx------. 3 user    user       219 Sep  6 17:12 .
drwxr-xr-x. 3 user    user        21 May 12 18:54 ..
-rw-rw-r--. 1 user    user    147415 Sep  6 17:35 image.jpg

上面的 curl 命令将覆盖原始图像.jpg。 卷曲中有没有办法使新文件被命名为image.jpg.1,或者类似的东西,就像在 wget 中一样?

wget 示例:

$ rm image.jpg*
$ wget https://website/context/path/image.jpg
$ ls -al
drwx------. 3 user    user       219 Sep  6 17:12 .
drwxr-xr-x. 3 user    user        21 May 12 18:54 ..
-rw-rw-r--. 1 user    user    147415 Sep  6 17:42 image.jpg
$ wget https://website/context/path/image.jpg
$ wget https://website/context/path/image.jpg
$ wget https://website/context/path/image.jpg
$ ls -al
drwx------. 3 user    user       219 Sep  6 17:12 .
drwxr-xr-x. 3 user    user        21 May 12 18:54 ..
-rw-rw-r--. 1 user    user    147415 Sep  6 17:42 image.jpg
-rw-rw-r--. 1 user    user    147415 Sep  6 17:42 image.jpg.1
-rw-rw-r--. 1 user    user    147415 Sep  6 17:42 image.jpg.2
-rw-rw-r--. 1 user    user    147415 Sep  6 17:42 image.jpg.3

不,curl 没有这样的选择。如果你真的需要它,你通常可以通过在脚本或其他包装程序中自己做检查来解决它。

这个功能在 curl 的 TODO 中被提到是整洁的东西,所以它可能会在未来的某个时间点添加......

--no-clobber,根据手册页,它是"在(版本(7.83.0 中添加"。

最新更新