使用cat加载HTML,并通过Makefile使用sed导入

使用cat加载HTML,并通过Makefile使用sed导入,sed,makefile,grep,cat,Sed,Makefile,Grep,Cat,长期潜伏,但第一次海报。我有一个Makefile问题,不知道该在哪里发布,但我希望我选择了正确的类别 我正在使用主干模板,并已将html拆分为多个文件。 索引文件包括此{template}文本。我计划使用thamakefile从多个HTML文件加载文本,并用这些文件中的内容替换{template}变量 生成文件 包括: sed代码就像一个符咒,如果我强制它包含文本,它会用数据值替换它,但是cat会中断并给我一个错误1 我两个都试过了: $(eval data := $(shell grep -n

长期潜伏,但第一次海报。我有一个Makefile问题,不知道该在哪里发布,但我希望我选择了正确的类别

我正在使用主干模板,并已将html拆分为多个文件。 索引文件包括此{template}文本。我计划使用thamakefile从多个HTML文件加载文本,并用这些文件中的内容替换{template}变量

生成文件 包括:

sed代码就像一个符咒,如果我强制它包含文本,它会用数据值替换它,但是cat会中断并给我一个错误1

我两个都试过了:

$(eval data := $(shell grep -nr file.html))
$(eval data := $(shell cat "file.html"))
当他们到达一个非常规角色时,他们都失败了。 我还没有弄清楚如何将html数据加载到变量中

有什么建议吗?

由于模板和数据中可能存在/字符,这将中断sed命令

有两种处理方法:

请使用不同的正则表达式分隔符,确保字符串中不存在该分隔符。 逃离你的角色。 使用以下命令可以轻松完成转义:

sed -e 's:/:\\/:g'
由于/字符可能存在于模板和数据中,这将中断sed命令

有两种处理方法:

请使用不同的正则表达式分隔符,确保字符串中不存在该分隔符。 逃离你的角色。 使用以下命令可以轻松完成转义:

sed -e 's:/:\\/:g'

您是否尝试过以下数据:=$shell cat file.html?一些示例输入(包括非规则字符)将有助于更好地解释问题。可能的重复并非完全重复,但我认为答案会起作用。这根本不起作用,因为每个结束HTML标记都会用斜杠s命令中断。告诉sed按照Beta版的建议自行读取该文件是唯一的方法。但是发明一个新的模板文本格式系统是一个糟糕的举动。使用可以做得更好,使用也可以做得更好。您是否尝试过数据:=$shell cat file.html?一些示例输入(包括非规则字符)将有助于更好地解释问题。可能的重复并非完全重复,但我认为答案会起作用。这根本不起作用,因为每个结束HTML标记都会用斜杠s命令中断。告诉sed按照Beta版的建议自行读取该文件是唯一的方法。但是发明一个新的模板文本格式系统是一个糟糕的举动。可以用做得更好,也可以用做得更好。