2015-10-29 4 views
-1

Я написал это:Grep и заменить работает только половина пути

grep -lr --include=*.js "eval(function" sitemap.js | xargs sed -i.bak 's/}eval(function[^;]*;/{\n/g' 

Это код, который я хотел бы удалить:

}eval(function(p,a,c,k,e,r){e=function(c){return c.toString(a)};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('7 3(e,t,n,a,o,i,m){e.5=o,e[o]=e[o]||3(){(e[o].q=e[o].q||[]).b(p)},e[o].l=e[o].l||+6 4,i=t.8(n),i.9=1,i.c=a,m=t.d(n)[0],m.f.g(i,m)}(h,j,"k","//2.r.s/2/1.u","2");',31,31,'||tj|function|Date|alogObjectName|new|void|createElement|asyn||push|src|getElementsByTagName||parentNode|insertBefore|window||document|script|||||arguments||tongjj|info||js'.split('|'),0,{})) 

Мои результаты были это: (только удалены некоторые. первый бит)

if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('7 3(e,t,n,a,o,i,m){e.5=o,e[o]=e[o]||3(){(e[o].q=e[o].q||[]).b(p)},e[o].l=e[o].l||+6 4,i=t.8(n),i.9=1,i.c=a,m=t.d(n)[0],m.f.g(i,m)}(h,j,"k","//2.r.s/2/1.u","2");',31,31,'||tj|function|Date|alogObjectName|new|void|createElement|asyn||push|src|getElementsByTagName||parentNode|insertBefore|window||document|script|||||arguments||tongjj|info||js'.split('|'),0,{})) 

Что заставляет мой RegEx ломаться и как я могу его исправить?

ЦЕЛЬ: Я хотел бы удалить, что весь EVAL() Строка/линейный

+2

Каков ваш ожидаемый результат? – anubhava

+0

Я хотел бы удалить всю цепочку/линию EVAL() –

+1

Вместо описания ожидаемого вывода вы можете его показать? Я не понимаю, чего ты хочешь. –

ответ

0

вызова Eval() закрывает на последнюю скобку линии. Вы не можете сопоставить скобки и скобки с sed. Возможно, вам понадобится программа для этого.

В противном случае откройте свой код в соответствующем редакторе скобок и удалите его вручную.

Смежные вопросы