提取以http或https开头的所有网址,并以文本文件中的html结尾

时间:2015-09-16 18:57:24

标签: html regex http url grep

我想提取以http://开头的每个链接(不确定我是否有https:// inside),并使用grep命令从文本文件中以.html结尾。

我遇到的问题是文件太大而且链接很多......

我试过了:

grep "/http:\/\/.*?\.html/"  filename.txt > newFile.txt

但是我得到一个空文件,就像这样:

grep -Eo "(http|https)://[a-zA-Z0-9]./(html)" filename.txt > newFile.txt

任何人都可以帮助我吗?

为了确保我们处于同一轨道,我想提取所有新文件的链接,并且每行都有1个。

谢谢。

祝你好运

2 个答案:

答案 0 :(得分:1)

您可以使用:

grep -Eo "https?://\S+?\.html" filename.txt > newFile.txt

这将匹配https://之后和.html

之前的一个或多个非空格字符

答案 1 :(得分:0)

这项工作对我来说:

grep -oE '(http|https)://(.*).html' filename.txt > newFile.txt

但是,如果我们在一行中有两个链接,我们将这两个链接放在一行

http://site1.com/1.html</a>tralala<a href="http://site2.com/2.html