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的处理;
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的处理;
相关文章推荐
- Android RecyclerView下拉刷新和上拉加载更多
- 深入分析Volatile的实现原理
- Spring Java 发送各种邮件
- java8新特性介绍
- 聚类、K-Means、例子、细节
- Android上传文件至服务器(上)
- GIT教程
- Android学习指南之十五:SQLite数据库及其使用实例
- 【Python】supervisor安装和管理celery
- Scala--特质
- 安卓笔记之XML解析(DOM、SAX、PULL)
- Sewise Player
- HTTPS、SPDY和HTTP/2的性能比较
- P1017进制转换NOIP2000SeniorT1
- Yarn之ResourceManager资源管理
- tomcat跨域以及session丢失的解决方案
- java中的各种数据类型在内存中存储的方式
- RPC简介、原理
- ActiveMq使用示例
- OpenCV在Qt中的配置方法