linux中在多个文件中查找替换文本的shell脚本
来源:互联网 发布:node实现反向代理跨域 编辑:程序博客网 时间:2024/04/30 12:23
使用find和sed
#首先查找个数(sed -n)
find . -name '*.htm' | xargs sed -n '/old/p'
#然后替换(sed -i)
使用grep和sed
sed -n '/old/p' `grep -l old *.htm`
使用find和perl
find . -name '*.htm' | xargs perl -pi -e 's|old|new|g'
参考:
http://hi.baidu.com/msingle/blog/item/3b125b3fc0e1efe255e72375.html
http://blog.csdn.net/zhangboyj/article/details/6215429
// 使用 shell 在多个文件中查找
find . -type f | xargs grep flash
说明:
找出前目录及其子目录下的文件中含有 flash 的文件
//
重点记录下 xargs 命令:
xargs 在标准输入上取得参数列表、一行一个,再将他们以适当的大小组起来(由主机的 ARG_MAX 值决定)传给另一个命令,此命令在作为 xargs 的参数.
ARG_MAX 值查看方法:
getconf ARG_MAX
//
//
在多个文件中查找使用命令替换也可以完成
grep flash $( find . -type f)
说明:
$() 是命令替换,括号内是 shell 命令;shell 执行括号内的命令并将整个 $(...) 替换为 命令的输出
命令替换的形式有两种,一种是 $(),另一种是使用两个反引号 `find . -type f`
// 多个文件中替换 - sed
为了保证不该替换的不被替换,先在文件中查找一下哪些会被替换
find -type f ! -path '*.svn*' | xargs sed -n '/Ookong inc/p'
说明:
1, find 首先过滤掉 .svn 目录及其子目录
2, xargs 传递参数给 sed 命令
3, sed 执行查找, 只打印符合要求的行
//
// 替换
find -type f ! -path '*.svn*' | xargs sed -i 's/Ookong inc/Ookong Ltd. Co./g'
说明:
1, sed 的 i 选项直接在文件中替换,而不是把替换结果打印出来
2, g 对每行中所有匹配执行替换
//
//
另外:一个 perl 多文件查找的程序: ack
-- 显示所在的行号及所在的文件
- linux中在多个文件中查找替换文本的shell脚本
- 使用 shell 在多个文件中查找, 替换
- 使用 shell 在多个文件中查找, 替换
- 在文件中查找文本的Perl脚本
- WordSR 在多个Word文件中批量查找替换
- vim在多个文件中进行查找替换
- Linux shell批量替换多个文件中字符串
- 在多个 PDF 中查找文本
- 使用vim在选中的文本中查找替换
- linux在多文件中查找关键词的位置以及替换关键词的方法
- shell 替换多个文件中的文本
- linux如何在多个文件中替换某个字符串
- linux shell查找文本中n个出现频率最高的单词
- shell 脚本替换文件中某个字符串
- shell 脚本替换文件中某个字符串
- shell 脚本替换文件中某个字符串
- shell 脚本替换文件中某个字符串
- linux使用脚本shell批量替换文件中的文本
- python学习第五章
- java.util.Properties 配置文件
- resultset 在数据库连接断开后是否可以被使用
- POJ 1222 : EXTENDED LIGHTS OUT
- 用EXPLAIN PLAN 分析SQL语句
- linux中在多个文件中查找替换文本的shell脚本
- Oracle中null值的比较
- Android——AppWidgetProvider应用
- 走进c#(类型转换的一个类Object对象转int String double byte[] Stream)
- 项目管理总结
- awk ==
- android编程之代码布局(一)
- 局部变量,局部静态变量,全局变量和全局静态变量的区别
- 10个iOS开发工具和资源