bash:仅使用正则表达式从文本文件中提取域名

时间:2018-12-16 08:56:59

标签: regex bash

我正在尝试使用正则表达式仅从文本文件中提取域名。

操作系统: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 :(得分:0)

您应该使用以下事实:域名是第一行,并用

分隔
cut -d/ -f1

您的数据似乎比纯URL更加混乱,因此可能需要tr -d '\\'或类似的内容。

相关问题