作为学习bash脚本的项目的一部分,我正在编写一个RSS播客下载器。我见过很多使用cURL、wget等工具的示例,并使用grep、sed和awk进一步解析XML。这是一个来自commandlinefu的one行程序,它可以完成这项工作。
curl $1 | grep -E "http.*\.mp3" | sed "s/.*\(http.*\.mp3\).*/\1/" | xargs wget这是解析查找MP3s的RSS的最有效方式吗?RSS feed包含数百个MP3s的链接,我的下一个目标是只下载最新的10个。
发布于 2017-02-23 10:15:29
一般而言,对于XML格式,您可以使用xpath实用程序来选择所需的特定节点。
如果示例sed语句偶然生成了mp3 urls的有序列表,则可以使用head或tail实用程序提取前10项或后10项(取决于排序顺序)。但是,请注意,盲目地解析提要而不使用支持XML的解析器可能会导致解决方案脆弱。
在没有更多细节的情况下,很难说得太具体。
https://stackoverflow.com/questions/42405664
复制相似问题