过滤没有路径的域和使用 grep 的 http/https
Posted
技术标签:
【中文标题】过滤没有路径的域和使用 grep 的 http/https【英文标题】:Filter domains without path and http/https with grep 【发布时间】:2022-01-07 22:24:25 【问题描述】:我想知道如何仅过滤域(没有协议:// 和/路径)。例如我需要这样的东西:echo "Hi it's my web site (https://1stsubdomain.2ndsubdomain.example.com/welcome/)" | grep "some regex"
我想得到这个输出:Hi it's my web site (1stsubdomain.2ndsubdomain.example.com)
域可以有 3 个子域,也可以只有 1 个或没有
我想要的扩展:.com|net|org|ru|xyz|co|tr|uk|vn|intedu|mil|lnc|is|dev|travel|info|biz|email|build|agency|zone|bid|condos|dating|events|maiso|partners|properties|productions|social|reviews|techgov|au
【问题讨论】:
你现在尝试了什么? 【参考方案1】:使用-o
仅打印匹配的(非空)部分
请确保包含您想要的所有***域
echo "Hi it's my web site (https://1stsubdomain.2ndsubdomain.example.com/welcome/)" | grep -Eo '[A-Za-z0-9_\.-]*\.(com|net|org)'
【讨论】:
感谢您的回复,但输出错误。输出:n.example.com【参考方案2】:如果适用,使用sed
$ echo "Hi it's my web site (https://1stsubdomain.2ndsubdomain.example.bid/welcome)" \
| sed -En 's#https://(.*\.)(com|net|org|ru|xyz|co|tr|uk|vn|intedu|mil|lnc|is|dev|travel|info|biz|email|build|agency|zone|bid|condos|dating|events|maiso|partners|properties|productions|social|reviews|techgov|au)[^)]*/?#\1\2#p' input_file
Hi it's my web site (1stsubdomain.2ndsubdomain.example.bid)
【讨论】:
如果最后一个字符不是/它不起作用,代码:echo "example.com" \ | sed -En 's#https://(.*\.)(com|net|org|ru|xyz|co|tr|uk|vn|intedu|mil|lnc|is|dev|travel|info|biz |email|build|agency|zone|bid|condos|dating|events|maiso|partners|properties|productions|social|reviews|techgov|au).*/#\1\2#p' 输出:无 还是不行┌──(root?Ugroon)-[/] └─# echo "1stsubdomain.2ndsubdomain.example.bid" \ | sed -En 's#https://(.*\.)(com|net|org|ru|xyz|co|tr|uk|vn|intedu|mil|lnc|is|dev|travel|info|biz |email|build|agency|zone|bid|condos|dating|events|maiso|partners|properties|productions|social|reviews|techgov|au).*/?())#\1\2\3#p' ┌──(根?Ugroon)-[/] └─# 输出:仍然没有@HatLess 你也可以查。如果路径为空或最后一个字符不是/它不起作用 还是不行。屏幕截图:media.discordapp.net/attachments/905154478133641269/…以上是关于过滤没有路径的域和使用 grep 的 http/https的主要内容,如果未能解决你的问题,请参考以下文章
我可以在不使用 Route 53 的情况下将我的域和子域指向 AWS 托管吗?
使用 Worklight 适配器,我可以在运行时更改过程的域和端口吗?