问题描述
如何从子域列表中删除主域 例如,如果我有一个文件包含
www.example.com
sub.examle.com
sub2.example.com
examle.com.ar
example.com
我只想提取
sub.example.com
sub2.example.com
我尝试
grep -v '^www.example.com' file.txt
我如何获得子域
解决方法
- 首先使用
P
选项使用Perl正则表达式。 -
^(?!www\.)
获取所有非以www开头的字符串。 ((?!www\.)
否定前瞻)。 -
\w+\.
匹配任意数量的单词字符(等于[a-zA-Z0-9_]),后跟一个句点。 -
\w{4,}
匹配超过4个单词字符。
grep -P '^(?!www\.)\w+\.\w{4,}' file.txt
#> sub.examle.com
#> sub2.example.com