bash: извлекать с помощью regex только доменные имена из текстового файла - PullRequest
0 голосов
/ 16 декабря 2018

Я пытаюсь извлечь с помощью регулярных выражений только имена доменов из текстового файла.

ОС: Ubuntu

grep -oP '(?<=display_url":")[^"]+' /tmm/script/string.txt

test7.com\/WRlklv5ir4Y
test8.com\/r\/IBlkO\/com6ents\u2026

Моя команда (которая не возвращает никакого результата)

grep -oP '(?<=display_url":")[^"]+' /tm/script/string.txt | grep '(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]'

Желаемый вывод:

test7.com
test8.com

1 Ответ

0 голосов
/ 16 декабря 2018

Вам, вероятно, следует использовать тот факт, что доменное имя является первым в строке и отделено чем-то вроде

cut -d/ -f1

Ваши данные кажутся немного более беспорядочными, чем простой URL, поэтому, возможно, tr -d '\\'или что-то подобное понадобится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...