把整站js中的域名替成变量,linuxjishu/13830.html target=_blank class=infotextkey>awk测试无果。
于是还是用python,没有用正则,但是好像跑起来真的比awk快。
效果:
使用方法:
首要,修改脚本里要替换的关键词
config['keyword'] = 'abc.com'
config['vname'] = 'siteDomain'
然后:
python replace_keyword.py ./myscript.js > /tmp/ooxx
mv /tmp/ooxx ./myscript.js
批量替换写成如下的shell/ target=_blank class=infotextkey>shell脚本:replace_keyword.sh
批量替换整个目录
最后任务远没有结束,这个脚本还不够强大,它只会替换字符串中的关键字,作为对象属性名称的字符串不会替换,正则中的关键字无法替换,像下面:
var config = {
'blog.abc.com' : 1,
'game.abc.com' : 2
}
//需要手工替换为
var config = {};
config['blog' + siteDomain] = 1;
config['game' + siteDomain] = 2;
if ( /abc.com/.test(str) ){}
//需要手工替换为
if ( new RegExp( siteDomain.replace('.','.') ).test(str) ){}
所以运行完脚本之后还需要检查未替换的地方,手工完成
find ./ -name "*.js" | xargs grep 'abc?.com'