Grep 找到短语后如何切掉一行?

Grep 找到短语后如何切掉一行?,grep,Grep,我有一个很大的文本文件,里面有很多主机访问过的网站。格式如下: Host : Url 许多URL如下所示: http://google.com/?aslkdfjasldkfjaskldfjalskdjfalksdfjalksdjfa;sdlkfjas;dklfjasdklfjasdklfjasdklfjJUSTABUNCHOFRANDOMSTUFFaslkdjfaslkdfjaklsdfjaklsdjfasdkfjasdfklj 而且很难看到原来的网站是什么。如何使用grep仅显示以下内容

我有一个很大的文本文件,里面有很多主机访问过的网站。格式如下:

Host : Url
许多URL如下所示:

http://google.com/?aslkdfjasldkfjaskldfjalskdjfalksdfjalksdjfa;sdlkfjas;dklfjasdklfjasdklfjasdklfjJUSTABUNCHOFRANDOMSTUFFaslkdjfaslkdfjaklsdfjaklsdjfasdkfjasdfklj 
而且很难看到原来的网站是什么。如何使用grep仅显示以下内容:

Host : http://google.com
我到处找,想在分隔符“.com”后面划一行,但找不到解决办法。谢谢你的帮助

奖励:我忘记了.net、.org和其他扩展。这可能是一个比我想象的更难的问题

试试这个:

grep -oP 'Host : http://[^/]+'
                        ^^^^
(所有非斜杠字符)

或者如果要指定
.com

grep -oP 'Host : http://.*?\.com'
另一个解决方案:

cut -d'/' -f1-3

有没有一种方法可以让我在每一行中省略.com之后的内容?如果答案符合你的需要,别忘了向上投票/接受。检查,你似乎是一个伟大和有价值的用户,这个网站,但可悲的是,我没有15个代表,这将是我的旅程,找到这篇文章,并投票给你的答案,当我这样做。