我使用wget
来同步我的存储库服务器(我知道,wget
不是最好的工具,但公司政策迫使我......)。
这是wget
命令:
/usr/bin/wget --no-check-certificate -r -N -np -nH --cut-dirs=2 --include-directories=dir_1/dir_2/RPMS.all https://repo_url/dir_1/dir_2/RPMS.all
这可以完成这项工作,但我希望捕获wget
的输出,如下所示(例如):
--2016-07-07 16:59:10-- https://repo_url/dir_1/dir_2/RPMS.all/repodata/d65d6fc4c2a0500803acde0525aa3e604a5ea03ac7b11c5694cc8b1de08ce7cc-filelists.xml.gz
Reusing existing connection to repo_url:443.
Proxy request sent, awaiting response... 200 OK
Length: 156605 (153K) [application/octet-stream]
Server file no newer than local file ‘RPMS.all/repodata/d65d6fc4c2a0500803acde0525aa3e604a5ea03ac7b11c5694cc8b1de08ce7cc-filelists.xml.gz’ -- not retrieving.
所以我可以处理此输出(使用grep
,awk
或其他)并仅显示我wget
的当前文件。
除此之外,我想反复在同一行显示该输出,直到完成为止(甚至可能丢弃没有更新的'文件,如上所述。
我尝试了几种解决方案(例如使用IFS
或shopt
或stdbuf),但似乎都没有。我也尝试使用wget -O -
选项,但这也不起作用。
或许要澄清一点:
我wget
正在工作时我想这样做。 wget
完成后我不想这样做,但在wget
运行时处理每个连接,无论源文件是否更新。
这一切都可能吗?