insira uma linha complexa no arquivo html a partir da linha de comando/script bash

insira uma linha complexa no arquivo html a partir da linha de comando/script bash

Eu uso um script bash para adicionar um arquivo javascript a um diretório, mas depois disso preciso inserir no index.html esta linha entre as linhas 30 e 31.

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

Usei o seguinte comando no meu, mas não funciona (ele imprime o conteúdo do index.html como o gato faria):

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

devo usar perl? talvez sed diretamente? se sim, como? obrigado por ler.

Responder1

Você precisa adicionar option -i, para atualizar o arquivo, e não gravar no padrão.

Também 30iinsere antes da linha 30, então você precisa de 31i. Além disso, você inseriu um único espaço, presumo que seja um erro.

Então você precisa de:

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

informação relacionada