找到短语后如何剪线?
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
我有一个很大的文本文件,其中包含主机访问过的网站。这是格式:
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