Opa
As vezes eu tenho exatamente este problema, preciso achar algo porem esta dentro de um tipo estruturado de dados como xml ou json (html nesse caso)
O problema disso é que, se utilizarmos ferramentas orientadas a linha como grep, as vezes fica dificil de encontrar o q queremos se temos coisas amontoadas na mesma linha (tal como html pode ser)
As opcoes -oE do grep sao muito poderosas porem vc acaba tendo estes caracteres extra q podemos facilmente remover com sed ou cut
(geralmente faço isso)
Entretanto existem ferramentas mais aprioriadas dependendo do tipo de estrutura. o velho browser de linha de comando lynx tem uma opcao -dump que transforma o html em arquivo texto
$ cat /tmp/exemplo/foo.html
<html>
<body>
<a href=""><a href=""></body>
</html>
$ lynx -dump /tmp/exemplo/foo.html
[1]foo [2]bar
References
1. file:///tmp/exemplo/foo
2. file:///tmp/exemplo/bar
De repente este exemplo pode ajudar, pois vc tem no final a lista de links e pode filtrar com sed / grep o q vc deseja
$ lynx -dump /tmp/exemplo/foo.html | sed -n '/^References/,$p'
References
1. file:///tmp/exemplo/foo
2. file:///tmp/exemplo/bar
Abraços