【发布时间】:2015-04-29 15:15:42
【问题描述】:
我正在尝试获取 googles html,并解析出链接。我使用 curl 获取 html 然后将其传递给 gawk。从 gawk 我使用了 match() 函数,它可以工作,但它只返回少量链接。最多可能10个。如果我在 regex101.com 上测试我的正则表达式,它会使用 g 全局修饰符返回 51 个链接。如何在 gawk 中使用它来获取所有链接(相对和绝对)?
#!/bin/bash
html=$(curl -L "http://google.com")
echo "${html}" | gawk '
BEGIN {
RS=" "
IGNORECASE=1
}
{
match($0, /href=\"([^\"]*)/, array);
if (length(array[1]) > 0) {
print array[1];
}
}'
【问题讨论】: