我是 bash 脚本世界的新手。希望在这里寻求帮助。一直在搞乱'wget'命令,发现它很整洁!目前,它从 https 站点获取所有内容,包括所有目录,并相应地保存它们。这是命令:
wget -r -nH –cut-dirs=1 -R index.html -P /home/snoiniM/data/in/ https://www.someWebSite.com/folder/level2 --user=someUserName --password=P@ssword
/home/snoiniM/data/in/folder/level2/level2-2013-07-01.zip 保存
/home/snoiniM/data/in/folder/level2/level2-2013-07-02.zip 保存
/home/snoiniM /data/in/folder/level2/level2-2013-07-03.zip 保存
/home/snoiniM/data/in/folder/level3/level3-2013-07-01.zip 保存
/home/snoiniM/data/in /folder/level3/level3-2013-07-02.zip 已保存
/home/snoiniM/data/in/folder/level3/level3-2013-07-03.zip 已保存
这对所有意图和目的都很好。但是,如果我真的只想从所有目录中获取特定日期怎么办?例如,文件夹内所有目录中的x -2013-07-03.zip级别并将所有内容保存到本地的 1 个目录(例如,所有 *zip 将在 ...folder/ 中)
有谁知道如何做到这一点?
我发现删除 -cut-dirs=1 和 URL www.someWebsite.com/folder/ 就足够了。
此外,考虑到这一点,添加了 -nd 选项。这意味着没有目录 - “递归检索时不要创建目录层次结构。启用此选项后,所有文件都将保存到当前目录,而不会破坏。”
这意味着,我们还剩下一个部分——如何编写一个 bash 脚本,它获取昨天的日期,将其解析为 wget 命令作为参数?
例如 wget -r -nH -nd -R index.html -A * $yesterday .zip -P /home/snoiniM/data/in/ https://www.someWebSite.com/folder/ --user=someUserName --密码=P@ssword