我正在尝试Google googles html,并解析出链接。我使用curl获取html然后传递给gawk。从gawk我使用了match()函数,它可以工作,但它只返回少量的链接。最多10个。如果我在regex101.com上测试我的正则表达式,它会使用g
全局修饰符返回51个链接。我如何在gawk中使用它来获取所有链接(相对和绝对)?解析HTML与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];
}
}'
感谢,但我得到'用法:grep'作为输出,它不跑? –
嗯,你必须使用较老的grep。 'grep -P'需要较新的gnu grep – anubhava
我有grep(BSD grep)2.5.1-FreeBSD –