播客下载器

时间:2017-02-23 01:55:13

标签: bash curl sed grep wget

作为学习bash脚本的项目的一部分,我正在撰写RSS播客下载器。我已经看到很多使用cURL,wget等工具的例子,并使用grep,sed和awk进一步解析XML。这是一个来自commandlinefu的单线工作。

curl $1 | grep -E "http.*\.mp3" | sed "s/.*\(http.*\.mp3\).*/\1/" | xargs wget

这是解析RSS寻找MP3的最有效方法吗? RSS源包含数百个MP3的链接,我的下一个目标是仅下载最新的10个。

1 个答案:

答案 0 :(得分:1)

从广义上讲,使用XML RSS格式,您可以使用xpath实用程序来选择所需的特定节点。

如果示例sed语句是偶然生成mp3网址的有序列表,您可以使用headtail实用程序来提取第一个或最后10个项目(取决于排序顺序)。但是,请注意,在不使用XML感知解析器的情况下盲目解析订阅源可能会导致解决方案过于脆弱。

没有更多细节,很难更具体。