使用 wget 下载后提取所有文件

使用 wget 下载后提取所有文件

我正在使用 wget 从 URL 下载文件列表,这是我的命令:

wget --user='username' --password='mypassword' -i  url.txt

.gz这将下载文件列表

我需要做的是:

  1. 下载前,删除目录中的所有文件
  2. 下载后,解压所有文件并删除压缩文件

是否有可以完成此操作的命令或命令列表,我可以将其插入到 cronjob 中?我需要每天运行一次。

谢谢

答案1

让我们尝试一下一行代码:

rm -rfi * && wget -q -O - --user='username' --password='mypassword' -i  url.txt | wget - && find . -name "*.zip" -exec "unzip && rm" {} \;

不要犹豫编辑/调整:这可能真的是错误的,因为我并不总是对-伪描述符以及每个应用程序如何处理它感到很放心。

一些细节

清除当前目录。

rm -rfi *

获取列表,但不将内容发送到文件,而是将其重定向到stdout(使用-q-O伪描述符-)。

wget -q -O - --user='username' --password='mypassword' -i  url.txt 

下载上一个调用发送的文件名wget。同样,-makes 指的是标准输入,也是上一个命令的输出。

wget -

查找目录中的所有 zip 文件,并对每个文件执行unzip和。rm

find . -name "*.zip" -exec "unzip && rm" {} \;

答案2

这更多的是一个 *nix 问题,而不是以 Ubuntu 为中心的问题。

通常,您需要编写一个脚本(使用 bash 语言,或者 Python)来处理您描述的任务。脚本的其中一行将是您的命令,上面...其余部分将处理目录的检查、删除、解压等。

然后您只需使用 cron(谷歌搜索 crontab)来设置在特定时间运行的脚本。

相关内容