Einfügen einer komplexen Zeile in eine HTML-Datei über die Befehlszeile/ein Bash-Skript

Einfügen einer komplexen Zeile in eine HTML-Datei über die Befehlszeile/ein Bash-Skript

Ich verwende ein Bash-Skript, um einem Verzeichnis eine JavaScript-Datei hinzuzufügen, aber danach muss ich diese Zeile zwischen Zeile 30 und 31 in index.html einfügen.

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

Ich habe in meinem den folgenden Befehl verwendet, aber er funktioniert nicht (er druckt mir den Inhalt der index.html aus, wie es cat tun würde):

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

Soll ich Perl verwenden? Vielleicht direkt sed? Wenn ja, wie? Danke fürs Lesen.

Antwort1

Sie müssen eine Option hinzufügen -i, damit die Datei aktualisiert wird und nicht in die Standardausgabe geschrieben wird.

Fügt auch 30ivor Zeile 30 ein, Sie benötigen also 31i. Außerdem haben Sie ein einzelnes Leerzeichen eingefügt, ich nehme an, das ist ein Fehler.

Also brauchst du:

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

verwandte Informationen