gpt4 book ai didi

linux - 下载某种类型的所有文件,不带目录

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:09:40 24 4
gpt4 key购买 nike

我正在尝试从此基本 URL“http://runawaypodcast.com/wp-content/uploads/2014/”下载所有“.m4a”播客文件,并忽略已下载的文件。

这是我当前的代码(它不搜索子目录)

#!/bin/bash
lynx --dump 'http://runawaypodcast.com/wp-content/uploads/2014/01/' | awk '/http/{print $2}' >> temp.txt
while read link || [[ -n "$link" ]]; do
if [[ $link == *m4a ]]
then
if grep -q $link usedlinks.txt; then
echo "This episode has already been downloaded!"
else
wget $link
echo $link >> usedlinks.txt
fi
else
echo "Non-audio file detected!"
fi
done < temp.txt
rm temp.txt

(我也想将下载的文件重命名为某种模式,不知道你是否也可以帮忙?)

最佳答案

根本不需要脚本。您所要做的就是阅读 wget 手册页 :)

wget -np -nd -c -A.m4a -r -k -erobots=off http://runawaypodcast.com/wp-content/uploads/2014/

对于批量文件重命名,有一个 rename 工具(在使用之前检查你有哪个,因为它取决于你的发行版)


如何处理此下载的完整说明。第一次下载可以执行:

wget -np -nd -c -A.m4a -r -k -erobots=off http://runawaypodcast.com/wp-content/uploads/2014/ \
-o download.log

现在我们已经下载了所有登录文件。为了形成一个黑名单以供将来下载,我们需要从日志中构建一个文件列表:

v_black_list=$(sed -n '/--.*m4a/s=.*/==p' download.log | tr '\n' ',')

要使用此启用的黑名单运行 wget,您必须使用 -R 选项:

wget -np -nd -c -A.m4a -r -k -erobots=off http://runawaypodcast.com/wp-content/uploads/2014/ \
-a download.log -R$v_black_list

请注意,在第二次运行中使用 -a 而不是 -o 以避免日志文件被覆盖。

关于linux - 下载某种类型的所有文件,不带目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21356540/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com