批量替换文本
用途
浏览器会缓存js文件,如果只更新js文件时,需要浏览器清除缓存才会获取更新后的文件,所以需要在调用js的语句后面增加?t=currentDate参数以表示有新的js版本发布
使用命令
find
使用 find ./ -name '*.html' 查找指定目录下的所有html文件
grep
使用 grep 查找文件中符合条件的文本
xargs
xargs的作用是将参数列表转换成小块分段信息传递给其他命令,以避免参数列表过长的问题
sed
sed -i 用于替换当前行内容
s/oldstring/newstring/g 用于替换文本
其中s后面紧跟着的字符作为分隔符
替换语句
find ./ -name '*.html' | xargs grep '.js"'
find ./ -name '*.html' | xargs sed -i 's#js"></script>#js?t=123"></script>#g'
局限性
很明显,此处查找需要所有的html对js文件的引用都是以.js"></script>结尾
参考资料
sed命令详解: http://www.cnblogs.com/edwardlost/archive/2010/09/17/1829145.html
linux常用命令: http://www.lampweb.org/linux/1/
网友评论