使用shell命令批量替换文件中的字符串
时间:2008-05-05 来源:winzipftp
1。确定选用的命令组合
find + perl
2. 注意shell元字符与find以及perl各自所使用的正则表达式元字符的扩展和匹配
find . -name *.[hc] -print 在 find 命令执行之前 shell 已根据 * [ ] 这几个字符在 shell 环境下的意义对该命令行进行了扩展,即替换成了当前目录下所有的 .h 和 .c文件名。该命令与 find . -name '*.[hc]' -print 的执行结果是不同的。
3. 确定命令行:
find . -name '*.[hc]' -exec perl -pi -e 's/源字符串/新字符串/g' {} \;
注意命令行中的源字符串与新字符串中也可能包含有 perl 所理解的正则表达式元字符。
find + perl
2. 注意shell元字符与find以及perl各自所使用的正则表达式元字符的扩展和匹配
find . -name *.[hc] -print 在 find 命令执行之前 shell 已根据 * [ ] 这几个字符在 shell 环境下的意义对该命令行进行了扩展,即替换成了当前目录下所有的 .h 和 .c文件名。该命令与 find . -name '*.[hc]' -print 的执行结果是不同的。
3. 确定命令行:
find . -name '*.[hc]' -exec perl -pi -e 's/源字符串/新字符串/g' {} \;
注意命令行中的源字符串与新字符串中也可能包含有 perl 所理解的正则表达式元字符。
相关阅读 更多 +