我正在尝试使用href为HTML中的一组href元素添加一个基本URL。
HTML字符串(单行):
<!-- helpers --> <li> <a href="form-helper/basics/">Form Helper</a> </li> <li> <a href="html-helper/icons/">Html Helper</a> </li> <li> <a href="modal-helper/basics/">Modal Helper</a> </li> <li> <a href="navbar-helper/basics/">Navbar Helper</a> </li> <li> <a href="panel-helper/basics/">Panel Helper</a> </li> </ul>⏎ 我的命令(menu.html包含上面的字符串):
site_url='https://example.com'
menu=$(cat menu.html)
echo $menu | sed -E 's@</li>\s+@</li>\n@g' | sed -E 's@href="(.*?)"@href="'"$site_url"'/\1"@g'这在我的Ubuntu机器上运行得很好,但是在OS上它给出了以下错误:
sed: 1:"s@href="(.*?)"@href="fo .“:RE错误:重复-操作符操作数无效
有没有办法让上面的sed同时在Ubuntu和OS上工作?
发布于 2018-02-08 13:02:28
echo $menu | sed -E 's@</li>\s+@</li>\n@g' | sed -E 's@href="([^"]*)"@href="'"$site_url"'/\1"@g'我认为你尝试匹配字符而不是",所以用[^"]*代替.*?,它可以在我的MAC上工作。
https://stackoverflow.com/questions/48685985
复制相似问题