gpt4 book ai didi

javascript - 如何使用 shell 脚本将 html 中的外部 CSS 文件链接替换为 CSS 文件的内容?

转载 作者:行者123 更新时间:2023-11-28 14:03:15 25 4
gpt4 key购买 nike

我有一个 HTML 文件,其中包含指向外部 CSS 和 JS 文件的链接。我需要用 CSS 和 JS 文件的内容替换外部链接。我的 HTML 文件看起来像:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Title</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="Expires" content="-1"/>
<meta http-equiv="Pragma" content="no-cache"/>
<link href="css/styles.css" rel="stylesheet"/>
<script type="text/javascript" src="js/d3.v2.min.js"></script>
<script type="text/javascript" src="js/sorttable.js"></script>
<script type="text/javascript">

现在我想替换行 <link href="css/styles.css" rel="stylesheet"/>包含 css/styles.css 文件的内容

我尝试使用 sed。我首先创建了两个变量

export OLD_STRING="<link href=\"css/styles.css\" rel=\"stylesheet\"/>" 
export NEW_STRING="<style>\n""$(cat css/styles.css)""\n<style>"

然后

sed -i "s/'$OLD_STRING'/'$NEW_STRING'/g" index.html 

但是我收到如下错误:

sed: -e expression #1, char 49: unknown option to `s'

如何解决这个问题。也欢迎任何其他方式来获得预期的结果。

最佳答案

错误来自变量中存在的“/”字符。您可以在通过 sed 之前对“/”进行转义。

例如:

old_string=`echo "$old_string" | sed "s/\//\\\//g"`
new_string=`echo "$new_string" | sed "s/\//\\\//g"`

你应该对两者都这样做,以防你的 css 文件中也有“/”。

关于javascript - 如何使用 shell 脚本将 html 中的外部 CSS 文件链接替换为 CSS 文件的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57483754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com