找到短语后如何剪线?

How to cut a line after a phrase is found?

我有一个很大的文本文件,其中包含主机访问过的网站。这是格式:

Host : 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