替换js字符串常量为变量
把整站js中的域名替成变量,awk测试无果。
于是还是用python,没有用正则,但是好像跑起来真的比awk快。
效果:
var s = '<a href="http://blog.abc.com/show">';
//替换之后
var s = '<a href="http://blog.' + siteDomain + '/show">';
使用方法:
首要,修改脚本里要替换的关键词
config['keyword'] = 'abc.com'
config['vname'] = 'siteDomain'
然后:
python replace_keyword.py ./myscript.js > /tmp/ooxx
mv /tmp/ooxx ./myscript.js
批量替换写成如下的shell脚本:replace_keyword.sh
python replace_keyword.py $1 > /tmp/ooxx
mv /tmp/ooxx $1
批量替换整个目录
最后任务远没有结束,这个脚本还不够强大,它只会替换字符串中的关键字,作为对象属性名称的字符串不会替换,正则中的关键字无法替换,像下面:
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'
js未结束的字符串常量异常解决方法
未结束的字符串常量和转义符用法
JS报未结束字符串常量错误怎么解决
js 未结束的字符串常量错误怎么解决
js 未结束的字符串常量解决方法
如何在JavaScript中嵌入大量字符串常量
您可能感兴趣的文章:
未结束的字符串常量怎么解决
js未结束的字符串常量异常解决方法
替换js字符串常量为变量
js 未结束的字符串常量错误怎么解决
JS报未结束字符串常量错误怎么解决
shell 字符串查找与替换的方法详解
js 未结束的字符串常量解决方法
C#基类应用--字符串处理类
php字符串-php入门教程(3)
Swift 常量