html - 如何使用 sed 将 CSS 样式文件内联到 HTML 文件?
问题描述
我正在尝试用内联样式标记替换 HTML 标头中的 CSS 文件引用。我正在从文件中搜索以下行。
<link rel="stylesheet" href="style.css" type="text/css">
我想用一行替换上一行
<style>(content of style.css file here)</style>
我有以下 sed 命令进行操作
sed "s/<link rel=\"stylesheet\" href=\"style.css\" type=\"text\/css\">/<style>$(cat style.css)<\/style>/" index.html
但是,sed 不喜欢命令中的 CSS 文件内容并给出错误。
sed: -e expression #1, char 84: unterminated `s' command
该命令可以在没有 style.css 文件内容的情况下正常工作。如何使此命令执行我想做的事情,或者是否有替代解决方案来执行相同的操作?
解决方案
使用 GNU sed;
sed $'/<link rel="stylesheet" href="style.css" type="text\\/css">/{e "<style>$(cat style.css)</style>"\n}' index.html
推荐阅读
- python - Django:获取所有正在运行的命令列表的方法?
- angular - Angular Table Lazy 从前端加载数据
- c - 收到一条错误消息,指出“运行时检查失败 #2 - 变量 'rejected' 周围的堆栈已损坏。(Visual Studio)
- javascript - 从数据库中删除时如何从文件夹中删除多张照片?
- javascript - 在 AVA 测试中使用 webpack 别名
- sql - 嵌套 SQL - 服务器
- reactjs - 与springboot控制器连接反应时如何解决cors错误
- forms - Parsley.js - 一旦可见就验证隐藏字段
- r - 如何在没有赋值的情况下即时使用生成变量名?
- gradle - Gradle:如何覆盖子项目中的变量?