Regex com sed

Bom dia Galera,

Estou tentando fazer um pattern que busca o seguinte codigo:

$(document).ready(function() { var urlDev = window.location.protocol + '//' + window.location.host + '/projeto'; document.frmLogin.novaUrl.value = urlDev; document.frmLogin.url.value = 'http://endereco.endereco.endereco/projeto'; });

E estou utilizando a seguinte regex:

cat nome_arquivo.js | sed -r "s/(..document..ready.(.|\s)+\svar)//g"

Porém não entendo porque ele não acha a quebra de linha após o “{” sendo que coloquei \s que indentifica espaço,quebra de linha e tabulação. Preciso apagar esse codigo js, se alguem puder ajudar…

Vlw Obrigado Galera

Oi,

Não está funcionando porque, embora a expressão esteja aparentemente correta, o sed processa o arquivo linha-a-linha e por padrão não consegue casar um texto que se expande por várias linhas.

Para resolver é preciso incrementar um pouco o script de modo a usar o hold space do sed. O hold space é uma área temporária que podemos usar para armazenar conteúdo; guardamos todas as linhas juntas no hold space para só depois casar a expressão.

Tenta assim: