繁体   English   中英

在Shell中使用SED查找和替换HTML标签

[英]Find and Replace HTML tag using SED in Shell

我要实现的是,使用Shell脚本将html标记替换为文件中的修改标记。 当我用Shell搜索并替换时,我才知道SED。 我出于目的进行了尝试,但是会引发错误。 我的代码是

pattern='<html style=background-color:#ffffff;>'
replacement='<html style=background-color:#ffffff; manifest="app.appcache">'

cat "index.html"  | sed "/s/$pattern/$replacement/" > "index2.html"

我收到以下错误,

sed: 1: "/s/<html style=backgrou ...": invalid command code <

从其他一些stackoverflow问题中,我尝试不使用

pattern='<html style=background-color:#ffffff;>'
replacement='<html style=background-color:#ffffff; manifest="app.appcache">'

sed "/s/$pattern/$replacement/" <"index.html" >"index2.html"

我遇到了同样的错误。

请帮我怎么做。

尝试

#    v-- no leading slash
sed "s/$pattern/$replacement/" index.html > index2.html

应该这样完成:

pattern="<html style=background-color:#ffffff;>"
replacement="<html style=background-color:#ffffff; manifest=\"app.appcache\">"

sed "s/$pattern/$replacement/g" index.html > index2.html

感谢您的回答,它正在与我从博客中获得的“ @”一起使用

sed -e 's@<html style=background-color:#ffffff;>@<html style=background-color:#ffffff; manifest="app.appcache">@g' <"index.html" >"index2.html"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM