Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何告诉curl不要覆盖_Curl_Xargs - Fatal编程技术网

如何告诉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”等