/ / URL синтаксичний аналіз основної бази даних у bash - bash

База даних каталогу хосту синтаксичного аналізу в bash - bash

Я маю деякі проблеми з аналізом URL-адрес у bash. Вони мають такий формат:

http(s)://some.host.com/some/web/directory/file

Я хочу витягти лише протокол і рядок хоста, щоб кінцевий результат:

http(s)://some.host.com/

Як це можна досягти в bash?

Відповіді:

2 для відповіді № 1

Можна використовувати grep:

grep -o "https?://[^/]+/"
grep -Eo "https?://[^/]+/"

Вхід може бути з труби або файлу.

І якщо ваша частина протоколу буквально http(s), ти можеш мати:

grep -o "http(s)://[^/]+/"

0 для відповіді № 2

Ви можете спробувати цю команду GNU sed,

$ echo "http(s)://some.host.com/some/web/directory/file" | sed -r "s~^([^/]*//[^/]*/).*~1~g"
http(s)://some.host.com/