我使用wget从数据库下载一些文件,但数据库中的一些文件名为same。因此,当我下载2个同名文件时,文件会中断。我想知道是否有办法保留两个文件。例如,我下载了名为a.png的文件,我下载了另一个不同的文件,但名称相同,并将名称更改为2.png
简单地说,我只需要识别具有相同名称的文件并为第2,第3,第4,...提供不同的名称。
答案 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文件中。所以,稍后我将手动更改它们。