如何告诉curl不要覆盖
我正在使用以下命令:如何告诉curl不要覆盖,curl,xargs,Curl,Xargs,我正在使用以下命令: $ xargs -n 1 curl -o -O < ../completeresultlist.txt 其中../completeresultlist.txt是我要下载的文件列表所在的位置。然而,其中一些文件虽然来自不同的目录,但名称相同。我想获取列表中的所有文件,因此如何避免覆盖?当curl发现一个重复项时,它似乎会被覆盖。不幸的是,我不相信这个功能是受支持的,但它已经在应用程序中了。另一个选项是使用,它具有不覆盖文件的功能 不幸的是,我不相信这个功能是受支持的,
$ xargs -n 1 curl -o -O < ../completeresultlist.txt
其中../completeresultlist.txt是我要下载的文件列表所在的位置。然而,其中一些文件虽然来自不同的目录,但名称相同。我想获取列表中的所有文件,因此如何避免覆盖?当curl发现一个重复项时,它似乎会被覆盖。不幸的是,我不相信这个功能是受支持的,但它已经在应用程序中了。另一个选项是使用,它具有不覆盖文件的功能 不幸的是,我不相信这个功能是受支持的,但它是免费的。另一个选项是使用,它具有不覆盖文件的功能 我认为下面的脚本应该可以做到这一点:
while read url; do
if [ ! -e $(basename "$url") ]
then curl -O "$url"
else echo "Skipping $url because file already exists" # Leave out if you want silence
fi
done < ../completeresultlist.txt
我认为以下脚本应该可以做到这一点:
while read url; do
if [ ! -e $(basename "$url") ]
then curl -O "$url"
else echo "Skipping $url because file already exists" # Leave out if you want silence
fi
done < ../completeresultlist.txt
您可以改用wget。默认情况下,它会重命名副本。您可以改用wget。默认情况下,它会重命名副本。如果我做错了,请原谅,但我只是将其粘贴到终端,它看起来像是在下载文件,但我所在目录中唯一一个名为“-O”的文件去掉了-O选项,应该可以修复它。我是从你在问题中的原始命令中获取的,我假设该部分工作正常。如果我做错了,请原谅,但我只是将其粘贴到终端中,它看起来像是在下载文件,但我所在目录中唯一一个名为“-O”的文件去掉了-O选项,应该可以修复它。我从你在问题中最初的命令中得到的,我假设这个部分工作正常。嗯,看起来wget默认会这样做。我正在查看-nc选项,它可以抑制这种覆盖。wget工作得非常好。对于如何让curl做到这一点,这并不完全是一个答案,但我相信它会帮助人们寻找答案。像'file','file.1',etcHmm这样重写,看起来wget默认会这样做。我正在查看-nc选项,它可以抑制这种覆盖。wget工作得非常好。对于如何让curl做到这一点,这并不完全是一个答案,但我相信它会帮助人们寻找答案。重写如“file”、“file.1”等