2015-01-09 4 views
1

У меня есть большой текстовый файл, полный сайтов, посещаемых хостами. Это формат:Как вырезать строку после фразы?

Host : Url 

Много URLs выглядеть следующим образом:

http://google.com/?aslkdfjasldkfjaskldfjalskdjfalksdfjalksdjfa;sdlkfjas;dklfjasdklfjasdklfjasdklfjJUSTABUNCHOFRANDOMSTUFFaslkdjfaslkdfjaklsdfjaklsdjfasdkfjasdfklj 

И это трудно понять, что оригинальный сайт. Как я могу использовать Grep только показать это:

Host : http://google.com 

Я искал везде, чтобы вырезать строку после разделителя «.com» и не может найти решение. Спасибо, что помогли!

Бонус: Я забыл о .net, .org и других расширениях. Это может быть более трудной задачей, чем я думал

ответ

0

Попробуйте это:

grep -oP 'Host : http://[^/]+' 
         ^^^^ 

(Все символы, которые еще не косые)

или если вы хотите указать .com:

grep -oP 'Host : http://.*?\.com' 

Другое решение:

cut -d'/' -f1-3 
+0

Есть ли способ, я могу просто опустить Whats после .com в каждой строке? – tthudium

+0

Это сработало! Благодаря! – tthudium

+0

Не забывайте поднимать/принимать, если ответ соответствует вашим потребностям. Проверьте http://stackoverflow.com/help/why-vote и http://stackoverflow.com/help/accepted-answer –

Смежные вопросы