从命令行/bash 脚本在 html 文件中插入复杂行

从命令行/bash 脚本在 html 文件中插入复杂行

我使用 bash 脚本将 javascript 文件添加到目录,但之后我需要在第 30 行和第 31 行之间将此行插入 index.html。

<script type="text/javascript\" src="./js/jquery.browser.js\"></script>

我在我的程序中使用了以下命令,但是它不起作用(它像 cat 一样打印出 index.html 的内容):

sed '30i\ <script type=\"text/javascript\" src=\"./js/jquery.browser.js\"></script> ' /path/to/index.html

我应该使用 perl 吗?也许直接使用 sed?如果是的话,该怎么做?谢谢阅读。

答案1

您需要添加选项-i,使其更新文件,而不是写入标准输出。

30i插入第 30 行之前,因此您需要31i。此外,您插入了一个空格,我认为这是错误的。

因此你需要:

sed -i '31i\<script type=\"text/javascript\" src=\"./js/jquery.browser.js\"></script> ' /path/to/index.html

相关内容