在 Solaris 中将一段代码放在两个 html 标记之间

在 Solaris 中将一段代码放在两个 html 标记之间

在Solaris HTML 文件中,如何在html 标签和head 标签之间插入?通过 bash 脚本。

我有一个 html 标签,如下所示:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:arf="http://scap.nist....-format/1.1" lang="en">

我想在这个“SOLARIS”运行 HTML 文件中插入一个用文本文件编写的脚本,在长<html....>标签和<head>标签之前,意思是在两个标签之间,我该怎么做?

我想使用 bash 命令进行测试,一次对一个文件以及文件夹目录中的多个文件执行此操作。我必须在 BASH 代码中使用文件夹路径吗?我必须在 BASH 代码中使用 FOR 循环或交互吗?什么是正确的代码。注意:这是SOLARIS运行的html文件,不是LINUX的。我的 HTML 文件的名称是report.usc20.html.

这些是我想在我的文件中使用的脚本行backbutton_and_scroller_script.txt

<div id="button"><a href="http://.....index.php">Back To The Hardening Page</a></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="text/javascript" src="http://arrow.scrolltotop.com/arrow78.js"></script>
<noscript>Not seeing a <a href="http://www.scrolltotop.com/">Scroll to Top Button</a>? Go to our FAQ page for more info.</noscript>

答案1

一种简单的使用方法sed(但需要注意一些问题):

sed 's/<head/your-js-text<head/'

这将在<head>标签之前插入文本。需要注意的主要“问题”是如何正确“转义”JavaScript 中可能被 误解的字符sed,例如。单引号和正/反斜杠。另外,万一您的 html 文件格式不正确,并且包含多个<head>标签,每个标签都会进行替换。

编辑:如果您的 javascript 中有许多正斜杠,您可以使用sed允许替换命令中正斜杠的字符的功能s。以下任何一项也可以:

sed 's^<head^your-js-text<head^'

sed 's%<head%your-js-text<head%'

sed 's#<head#your-js-text<head#'

相关内容