【发布时间】:2019-12-15 05:46:52
【问题描述】:
作为最终结果,我想将文件input.html 中的几行文本复制到output.html。
input.html
<body>
<h1>Input File</h1>
<!-- START:TEMPLATES -->
<div>
<p>Lorem Ipsum & Lorem Ipsum</p>
<span>Path: /home/users/abc.txt</span>
</div>
<!-- END:TEMPLATES -->
<body>
template.html
<body>
<h1>Template File</h1>
<!-- INSERT:TEMPLATES -->
<p>This is a Text with & /</p>
<body>
我在Powershell 和Bash 中尝试了不同的方法来完成这项工作。但没有成功。
通过以下方式成功地将输入输入到变量中:
content="$(sed -e '/BEGIN:TEMPLATES/,/END:TEMPLATES/!d' input.html)"`
但是在另一个文件中替换是不可能的。我试过sed 和awk。如果变量包含任何特殊字符,例如 & /,这两个问题都会有很多问题...
output.html
<body>
<h1>Output File</h1>
<div>
<p>Lorem Ipsum & Lorem Ipsum</p>
<span>Path: /home/users/abc.txt</span>
</div>
<p>This is a Text with & /</p>
<body>
感谢您提供任何有助于解决我的问题的意见。
【问题讨论】:
-
Bash 还是 PowerShell?
-
@BenjaminW。 Powershell 中的首选。但是在 Linux 机器上构建很容易,所以如果你有一个 bash 解决方案,那么我会选择那个。
-
Shell 脚本听起来就像是模板标记语言(如 HTML)的错误工具。各种语言都有很多更好的模板引擎,即使是历史悠久的 Apache 的服务器端包含也会做得更好。
标签: bash powershell cmd