我正在嘗試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 –