コマンドライン/bash スクリプトから HTML ファイルに複雑な行を挿入する

コマンドライン/bash スクリプトから HTML ファイルに複雑な行を挿入する

bash スクリプトを使用してディレクトリに JavaScript ファイルを追加しますが、その後、index.html の 30 行目と 31 行目の間にこの行を挿入する必要があります。

<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標準出力に書き込むのではなく、ファイルを更新するには、オプションを追加する必要があります。

また、30i30 行目の前にも挿入されるため、 が必要です31i。また、スペースを 1 つ挿入しましたが、これはエラーだと思います。

したがって、次のものが必要です:

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

関連情報