请教,使用sed 取出URL中的IP,端口,以及[..:端口/]后的字符串的正则表达式

请教,使用sed 取出URL中的IP,端口,以及[..:端口/]后的字符串的正则表达式

http://127.0.0.1:8080/test/add

想取出IP地址:127.0.0.1
端口:8080
后续的url:/test/add

阅读 11k
1 个回答

这里url是存储着url的文件:

sed -nr 's/^http:\/\/([0-9.]+):[0-9]+.*$/\1/p' url # 取出IP地址
sed -nr 's/^http:\/\/[0-9.]+:([0-9]+).*$/\1/p' url # 取出端口
sed -nr 's/^http:\/\/[0-9.]+:[0-9]+(.*$)/\1/p' url # 取出后续路径

注意这三个命令,只有放括号的位置不同。就是让它打印出括号内匹配的内容。

BTW,为什么不用grep

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进