Как я могу использовать grep для сопоставления только доменных имен?
Все URL имеют / после домена. И есть много tlds, не уверен, сколько, список довольно большой.
3 ответа на вопрос
5
Dennis Williamson
Чтобы использовать не жадные регулярные выражения с grepвами, вам нужно будет использовать эту -Pопцию, и эта -oопция выводит только соответствующую часть. Вам также нужно будет использовать обходные пути, чтобы часть совпадения не была включена в вывод.
Существует большое место, чтобы проверить свои навыки в регулярных выражениях здесь . Выражение должно выглядеть так
.*?//(.*)/
Вам нужно будет просмотреть все результаты. На странице, которую я вам дал, вы можете поместить это выражение и веб-адрес, и тогда он покажет вам, что соответствует. Также помните, что у вас будет захваченная переменная только в течение ограниченного времени.
Это не сработает для `http: // url.com / directory / page.html`
Karl Bielefeldt 13 лет назад
0
0
Hydaral
Если у них есть только один TLD после домена, это должно сработать (я предполагаю, что вы хотите исключить поддомен):
[^\./]*\.[^\./]*/
Хотя он все еще имеет косую черту, но вы можете просто передать это sed.