從命令列/bash腳本在html檔案中插入複雜的行

從命令列/bash腳本在html檔案中插入複雜的行

我使用 bash 腳本將 javascript 檔案新增到目錄中,但之後我需要將這一行插入 index.html 的第 30 行和第 31 行之間。

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

我在 my 中使用了以下命令,但它不起作用(它像 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

相關內容