cat urls.log | grep -Eo "(http|https)://[a-zA-Z0-9./?=_-]*" | sort | uniq > myurls.txt
E a saída seria:
pi@berry:~s$ cat urls.html | grep -Eo "(http|https)://[\da-z./?A-Z0-9\D=_-]*" | uniq
http://schema.org/WebPage
http://www.google.com/imghp?hl=en
http://maps.google.com/maps?hl=en
https://play.google.com/?hl=en
http://www.youtube.com/?tab=w1
http://news.google.com/nwshp?hl=en
https://mail.google.com/mail/?tab=wm
https://drive.google.com/?tab=wo
http://www.google.com/intl/en/options/
http://www.google.com/history/optout?hl=en
https://accounts.google.com/ServiceLogin?hl=en
http://www.google.com/
https://www.google.com/culturalinstitute/project/the-holocaust?utm_source=google
https://plus.google.com/116899029375914044550
- Explicação:
- grep -E: é o mesmo que egrep
- grep -o: apenas mostra o que foi grepped
- (http | https): é um ou / ou
- a-z: é todo em minúsculas
- A-Z: é tudo um bom caso
- : é ponto
- \ ?: é?
- *: repete o grupo
- uniq: removerá quaisquer duplicatas
Coloque em uma bash
#!/bin/sh
echo '---------------------------------------------'
echo 'Now starting'
echo '---------------------------------------------'
while read p;
do x-www-browser "$p";
done < myurls.txt
O bash deve abrir uma nova guia para cada URL Fontes: