频道栏目
首页 > 系统 > Linux > 正文
linux或Mac下批量替换文件内容的方法
2018-04-16 11:05:57      个评论    来源:Updating!  
收藏   我要投稿

grep -rl “str1” dir | xargs sed -i ‘s/str2/str3/g’

意思就是把dir路径下面,还有子文件夹里面的所有包含‘str1’的文件里的‘str2’替换为‘str3’

当str1和str2相同时,就是批量查找和替换了

另外

grep -rl “str1” dir

就是显示dir下所有包含str1字符串文件的路径

但是有时候上面提到的语句并不好用,因为第一个必须要把双引号全部转义,第二个填充字符串的地方必须把斜杠全部转义,有时候如果要替换html标签会很麻烦,所以这里再提供另外一种方法

rpl命令,需要安装rpl

sudo apt-get rpl  
rpl "str1" "str2" ./*  

就会将当前目录下所有文件中str1替换为str2,只需要把双引号转义就行,很方便

Mac用户需要注意, OS X上的sed和类似ubuntu这种linux上的sed是不同的, 要求在sed -i后面跟一个字符串, 用来备份. 如果留空就不备份, 所以可以写成下面这样

grep -rl “str1” dir | xargs sed -i “” ‘s/str2/str3/g’

点击复制链接 与好友分享!回本站首页
上一篇:linux下搭建svn+apache+ssl服务器的步骤教程
下一篇:linux下压缩、解压缩程序及使用命令整理
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站