我正在尝试使用 sed 替换多个文件中的 html,但没有成功。我需要更换这个:
<link rel='shortcut icon' href='/admin/img/favicons/favicon.ico' type='image/x-icon'>
有了这个:
<link rel="icon" href="/admin/img/logo.svg">
这是我尝试的最后一个命令,但总是给出错误:
#find . -type f -name "*.php" -exec sed -i'' -e 's/<link rel='shortcut\ icon' href='\/admin\/img\/favicons\/favicon.ico' type='image/x-icon'>/<link rel\="icon" href\="admin/img/logo.svg">/g' {} +
sed: -e expression #1, char 42: unknown option to `s'
你能帮忙吗?
答案1
问题出在"
角色身上,而/
你错过了其中的一些[逃避他们]
与 sed:
sed -E 's/<link.*/<link rel=\"icon\" href=\"\/admin\/img\/logo.svg\">/'
我更喜欢它 xargs:
find ./ -type f -name "*.php" | xargs -I% sed -E paste-comand-from-above %
所以最终:
find ./ -type f -name "*.php" | xargs -I% sed -E 's/<link.*/<link rel=\"icon\" href=\"\/admin\/img\/logo.svg\">/' %