匹配并用 sed 替换 'http://*'

Posted

技术标签:

【中文标题】匹配并用 sed 替换 \'http://*\'【英文标题】:Match amd replace 'http://*' with sed匹配并用 sed 替换 'http://*' 【发布时间】:2022-01-18 14:14:09 【问题描述】:

我有一个包含多个通配符的文本。我要删除http://*

我试过sed -i '/http://*/d' file,反向grep,但*是????,

谁能帮忙。谢谢。

【问题讨论】:

【参考方案1】:

你需要使用

sed -i 's~http://\*~~g' file
sed -i 's~https\0,1\://\*~~g' file

这里:

-i - 内联修改文件 s - 定义 substitution 命令 ~ 用作正则表达式分隔符字符(以避免在模式中转义 / 字符) http:// 匹配文字字符串 \* 匹配 * 字符(它需要转义,因为它是一个特殊的正则表达式元字符) g - global 标志,用于删除每行的多个匹配项。

在第二个命令中,s\0,1\ 匹配协议模式部分中的可选s

【讨论】:

谢谢!专门用于分解命令。

以上是关于匹配并用 sed 替换 'http://*'的主要内容,如果未能解决你的问题,请参考以下文章

sed匹配全行,行首,行尾后替换或添加字符

使用 sed/awk/grep 匹配段落并替换为新段落 [重复]

sed匹配与替换

求助sed命令匹配并替换无效的换行符

sed命令:删除匹配行和替换

用 sed 找到匹配时替换整行