wget - 保持文件的名称相同

时间:2015-01-25 06:26:40

标签: bash scripting

我使用wget从数据库下载一些文件,但数据库中的一些文件名为same。因此,当我下载2个同名文件时,文件会中断。我想知道是否有办法保留两个文件。例如,我下载了名为a.png的文件,我下载了另一个不同的文件,但名称相同,并将名称更改为2.png
简单地说,我只需要识别具有相同名称的文件并为第2,第3,第4,...提供不同的名称。

谢谢..

2 个答案:

答案 0 :(得分:0)

使用wget -nd选项确保它破坏了现有文件。

根据man wget

-nd
--no-directories
  Do not create a hierarchy of directories when retrieving recursively.  With this 
  option turned on, all files will get saved to the current directory, without 
  clobbering (if a name shows up more than once, **the filenames will get
  extensions .n**).

另外我想补充一下:

  

在没有-N,-nc,-r或-p的情况下运行Wget时,在同一目录中下载相同的文件将导致              保留文件的原始副本,第二个副本名为file.1。如果该文件尚未下载              再次,第三个副本将命名为file.2,依此类推。 (这也是-nd的行为,即使-r或-p是              实际上。)当指定-nc时,此行为被禁止,Wget将拒绝下载更新的副本              文件。

答案 1 :(得分:0)

我想用“-O”无法做到这一点。所以,我保留了那里并修改了程序。我在下载之前检查了文件的名称是否存在。如果它是退出我下载文件,如“name $ i.png”。而且,我将文件的名称(存在)写入.txt文件中。所以,稍后我将手动更改它们。