我是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并将所有目录保存到本地目录(例如,所有* zip将位于...文件夹/)
有谁知道怎么做?
我发现删除-cut-dirs = 1并且在URL www.someWebsite.com/folder/上就足够了。
另外,考虑到这一点,添加了-nd选项。这意味着没有目录 - "在递归检索时不要创建目录层次结构。启用此选项后,所有文件都将保存到当前目录中,而不会破坏。"
这意味着,我们还剩下一个部分 - 如何编写一个bash脚本,它获取昨天的日期,将其作为参数解析为wget命令?
例如
wget -r -nH -nd -R index.html -A * $昨天 .zip -P / home / snoiniM / data / in / https://www.someWebSite.com/folder/ --user = someUserName --password = p @提供ssword
答案 0 :(得分:0)
只是您要寻找的代码段:
昨天= $(日期 - 日期=“@ $(($(日期+%s)-86400))”+%Y-%m-%d)
昨天之前不需要*;只是把它当作后缀。