O que estou fazendo de errado com Sed

1

Minha entrada:

sed -i 's/if ($.browser.msie)/if ($.browser={ msie: ( navigator.appName == 'Microsoft Internet Explorer') ? true : false })/g' file.js

Eu tentei colocar a pesquisa e o texto de substituição em aspas simples e duplas, mas isso dá o erro:

sed: -e expression #1, char 79: unterminated 's' command
    
por Johndoe 11.01.2015 / 12:04

1 resposta

1

Substitua as aspas simples em torno de Microsoft Internet Explorer por aspas duplas e insira um caractere de espaço antes de file.js , como você mencionou no seu comentário que você já fez. Também use um caractere de barra invertida para escapar dos caracteres $ e . colocando uma barra invertida na frente deles onde eles ocorrem no regex.

sed -i 's/if ($\.browser\.msie)/if ($\.browser={ msie: ( navigator\.appName == "Microsoft Internet Explorer") ? true : false })/g' file.js
    
por karel 11.01.2015 / 12:17