Обрезать URL

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Grih65kop
Сообщения: 145

Обрезать URL

Сообщение Grih65kop »

Есть следующий список:

http://ya.ru/blablabla
http://yandex.ru/blablabla
https://yandex.ru/blablabla
http://google.ru/blabla

Вопрос: как более рациональное преобразовать все это в

http://ya.ru/
http://yandex.ru/
....
т.е. делать обрезание после третьего "/".

Спасибо.
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Обрезать URL

Сообщение serzh-z »

echo http://ya.ru/blablabla | sed -r 's/(.*\/\/.*\/).*/\1/'
Спасибо сказали:
Grih65kop
Сообщения: 145

Re: Обрезать URL

Сообщение Grih65kop »

Спасибо. Работает, но опять же только на верхних вариантах.

http://yandex.ru/blablablasd/34231321
http://yandex.ru/blablablasd/34231321/

http://yandex.ru/ -получит в таком случаи не получится.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5404
ОС: Gentoo

Re: Обрезать URL

Сообщение /dev/random »

Спасибо сказали:
flank'er
Сообщения: 496
Статус: слаковщик
ОС: Slackware64

Re: Обрезать URL

Сообщение flank'er »

мой вариант

Код: Выделить всё

echo "http://yandex.ru/blablablasd/34231321"|awk -F "/" '{print  $1 "//" $3}'
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Обрезать URL

Сообщение drBatty »

Код: Выделить всё

$ sed -r '' h.txt
Есть следующий список:

http://ya.ru/blablabla
http://yandex.ru/blab/la/bla
https://yandex.ru/blabl/abla
http://google.ru/blabla

Код: Выделить всё

$ sed -r 's~/~\n~3;s/\n.*//' h.txt
Есть следующий список:

http://ya.ru
http://yandex.ru
https://yandex.ru
http://google.ru
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали: