我试图在 HTML 文件中的所有图像之前插入绝对路径,如下所示:
<img src="/media/some_path/some_image.png"> to <img src="{ABS_PATH}/some_path/some_image.png">
我尝试了以下正则表达式来识别行:
egrep '(src|href)="/media([^"]*)"'
我想使用 sed 进行这些更改,但是上面的正则表达式不起作用,有什么提示吗?
sed 's#(src|href)="/media([^"]*)"##g'
sed:-e 表达式 #1,字符 32:“s”的未知选项
编辑: 好的,现在我有:
echo 'src="/media/some_image.png"' | "egrep -o '(src|href)="/media([^"]*)"' | sed 's/(src|href)=\"\/media([^"]*)\"//g'
Sed 应该匹配字符串,但事实并非如此
最佳答案
sed 不理解 ERE(扩展正则表达式),只理解 BRE(基本正则表达式)。 GNU sed 有“-r”选项可以打开 ERE。
您应该更改正则表达式的分隔符,因为正则表达式中有斜杠,如下所示:
sed -r 's#(src|href)="/media([^"]*)"##g'
您几乎可以使用任何标点符号作为分隔符。
关于regex - 为 html 文件中的所有媒体链接添加前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10186014/