用 SED 替换 HTML 标签

用 SED 替换 HTML 标签

我正在尝试使用 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\">/' %  

相关内容