Instale lynx
e, em seguida:
lynx -listonly -nonumbers -dump input.html > links.txt
Certifique-se de que seu arquivo de entrada tenha uma extensão .html
.
Por exemplo:
$ cat test.html
<a href="http://superuser.com">test</a>
http://google.com
$ lynx -listonly -nonumbers -dump test.html
http://superuser.com/
Se, em vez disso, você tiver um arquivo de texto que aponte para arquivos HTML dos quais precisa obter os links, é possível iterar sobre isso:
while read -r file; do
lynx -listonly -nonumbers -dump "$file" > "${file%.*}.txt
done < input.txt
Isso lerá todas as linhas do arquivo de texto, usará o lynx para extrair os links e os gravará em um arquivo .txt com o mesmo nome de base do arquivo HTML para o qual eles apontam.