问题描述
我正在使用以下命令从服务器下载所有文件
wget -R "index.*" -m -np -e robots=off http://robotics.ethz.ch/~asl-datasets/ijrr_euroc_mav_dataset/
可以正确识别所有文件,但是wget将.html
添加到所有文件。例如:ijrr_euroc_mav_dataset/calibration_datasets/cam_april/cam_april.bag
变成ijrr_euroc_mav_dataset/calibration_datasets/cam_april/cam_april.bag.html
那是为什么?
此外,wget创建了我不要求的文件夹~asl-datasets
。我只想下载ijrr_euroc_mav_dataset
下的所有文件。
解决方法
这是两个独立的问题,但很容易回答。 (我已经在评论中解决了这个问题,但要回答,因为这显然是现场观察)。
第一个是,为什么Wget在文件中添加一个.html
后缀。原因很可能是您的adjust-extensions
文件中有~/.wgetrc
。由于明显的原因,默认情况下禁用此选项,但在许多情况下很有用。尝试修改〜/ .wgetrc文件,或使用--no-config
(如果使用的Wget版本超过5年,则使用--config=/dev/null
。)
第二个问题是Wget为什么要创建目录。好吧,答案很简单。您要求镜像具有该目录的网站。您可以使用--cut-dirs
选项来调整要Wget在磁盘上创建的目录。 (在您的情况下,我认为--cut-dirs=2 --no-host-directories
可能是合适的,因为您不关心保留目录结构。但是请记住,这意味着不同目录中具有相同名称的文件可能会被覆盖