вставить сложную строку в html-файл из командной строки/скрипта bash

вставить сложную строку в html-файл из командной строки/скрипта bash

Я использую скрипт bash для добавления файла javascript в каталог, но после этого мне нужно вставить в index.html эту строку между строками 30 и 31.

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

Я использовал следующую команду, но она не работает (она выводит содержимое index.html, как это сделала бы cat):

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

Связанный контент