我使用的匹配()函数的gawk中抢出一个HTML文件的链接多..正则表达式是这样的:awk中匹配() - 每行
match($0, /(<a href=\")([^\"]+)/, arr)
我不t似乎能够在最后使用“/ g”选项来获得每行多个匹配?
我使用的匹配()函数的gawk中抢出一个HTML文件的链接多..正则表达式是这样的:awk中匹配() - 每行
match($0, /(<a href=\")([^\"]+)/, arr)
我不t似乎能够在最后使用“/ g”选项来获得每行多个匹配?
这是正确的。 AWK正则表达式没有标志。
此外,没有内置的支持让match
寻找第二次或以后的比赛。
只有gsub
和gensub
函数有。
我想尝试这样的事:
gensub(/.*<a href=\"([^\"]+)/, "\1%", "g")
last = split($0, "%", arr)
delete arr[last]
其中%
是,你能保证不会在输入中找到的字符串。
文本模式浏览器lynx可能是一个更好的工具来收集URL。它的-dump
标志将格式化输出写入标准输出。最后,您会在该页面上找到每个可见和隐藏链接的编号列表。 (或文件,它接受URL或文件名作为参数)。
$ lynx -dump http://www.stackoverflow.com
[snip]
References
Visible links
1. http://stackoverflow.com/opensearch.xml
2. http://stackoverflow.com/feeds
3. http://stackexchange.com/
4. http://stackoverflow.com/users/login
5. http://careers.stackoverflow.com/
6. http://chat.stackoverflow.com/
[snip]
676. http://creativecommons.org/licenses/by-sa/3.0/
677. http://blog.stackoverflow.com/2009/06/attribution-required/
Hidden links:
678. http://www.peer1.com/stackoverflow
679. http://creativecommons.org/licenses/by-sa/3.0/