insertar una línea compleja en el archivo html desde la línea de comando/script bash

insertar una línea compleja en el archivo html desde la línea de comando/script bash

Utilizo un script bash para agregar un archivo javascript a un directorio, pero luego necesito insertar en index.html esta línea entre las líneas 30 y 31.

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

Utilicé el siguiente comando en mi pero no funciona (me imprime el contenido de index.html como lo haría cat):

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

¿Debería usar Perl? tal vez sed directamente? ¿si es así, cómo? gracias por leer.

Respuesta1

Debe agregar la opción -ipara que actualice el archivo, no escriba en el estándar.

También 30ise inserta antes de la línea 30, por lo que necesita 31i. También insertaste un solo espacio, supongo que es un error.

Así que tú necesitas:

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

información relacionada