首页 > 解决方案 > 限制 sed 删除所有结尾相同的 url

问题描述

我有一个包含许多以“ .com ”结尾的 URL 的测试文件,但我不想删除 Gmail id URL ( abc@gmail.com ),但想删除像“ youtube.com ”这样的 URL。

示例输入:-你好吗,观看由abc@gmail.com提供的youtube.com

期望的输出:- 你好吗,看由abc@gmail.com提供

我在做什么-->

我正在使用 sed 命令删除所有以“.com”结尾的 URL


sed -r -i -e 's![^:space:] .com[^:space:]!!g' 文件


标签: bashshellurlsed

解决方案


使用交替捕获gmail.com

sed -r -i -e 's!([^[:space:]()]*gmail\.com[^[:space:]()]*)|[^[:space:]()]*\.com[^[:space:]()]*!\1!g' file

\1放回第 1 组中的值。


推荐阅读