【发布时间】:2022-01-18 14:14:09
【问题描述】:
我有一个包含多个通配符的文本。我要删除http://*。
我试过sed -i '/http://*/d' file,反向grep,但*是????,
谁能帮忙。谢谢。
【问题讨论】:
我有一个包含多个通配符的文本。我要删除http://*。
我试过sed -i '/http://*/d' file,反向grep,但*是????,
谁能帮忙。谢谢。
【问题讨论】:
你需要使用
sed -i 's~http://\*~~g' file
sed -i 's~https\{0,1\}://\*~~g' file
这里:
-i - 内联修改文件s - 定义 substitution 命令~ 用作正则表达式分隔符字符(以避免在模式中转义 / 字符)http:// 匹配文字字符串\* 匹配 * 字符(它需要转义,因为它是一个特殊的正则表达式元字符)g - global 标志,用于删除每行的多个匹配项。在第二个命令中,s\{0,1\} 匹配协议模式部分中的可选s。
【讨论】: