我正在编写应该下载html页面的bash脚本,并从该页面提取所有pdf文件的链接。
我必须说,我是bash的新手,所以现在我只能grep包含<a href
的所有行,然后grep这些包含pdf
字的行。
我几乎可以使用awk
,但我不知道如何编写正确的正则表达式,只能在<a href="*.pdf">
中获取我想要*.pdf
的文本。
编辑:grep "<a href=\"*.pdf\""
找不到pdf的所有链接,这怎么可能?例如,找不到<a href="lorem ipsum.pdf">...</a>
。
答案 0 :(得分:1)
对整个html字符串尝试这一行。适合我。
grep -io "<a[[:space:]]*href=\"[^\"]\+\.pdf\">" | awk 'BEGIN{FS="\""}{print $2}'