您的位置:首页 > 其它

find grep sed 实现批量搜索文件,并替换字符串

2016-12-15 16:53 225 查看
很容易忘,记录下:

find -name "*.xml"| grep "rCN" | xargs grep  测试字符1  -l | xargs sed -i "s/测试字符1/测试字符2/g"

find 就不说了;

第一个grep,不需要xargs,为何?因为这个grep查找的不是文件内容,而是路径本身,检查find的取得的文件路径是否包括"rCN";

第二个grep,需要xargs,为何?因为这个grep要搜索的是文件内容,而非文件路径,查找文件内容存在"测试字符1"这个字符串,

然后,-l 参数为示只输出文件路径;

最后用sed来替换此文件中的“测试字符1”为"测试字符2"

sed的-i参数:表示修改文件内容,并非输出到终端。

完成。

温馨提示:

最好先执行一下find -name "*.xml"| grep "rCN" | xargs grep  测试字符1,看看结果是否为想要的结果,然后再加上sed的处理;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: