如果你在shell命令行下,需要一种能快速查找并替换多个文件里字符的方法,
那么下面这行命令你一定要记住或者收藏起来,它能帮到你的。
find . -name '*.html' -print0 | xargs -0 perl -pi -e 's/SEARCHSTRING/REPLACESTRING/g'
注解:
*.html:表示查找所在目录下的所有扩展名为html的文件;
SEARCHSTRING:要查找搜索的字符;
REPLACESTRING:替换后的字符。
记住:如果替换的字符包括 ()[]/"'!? 等等这样的特殊字符,你必须在字符前加上反斜杠\ 。
使用举例:
1.创建一个新目录:
$ mkdir test
$ cd test
2.创建1.html,2.html两个文件,并分别输入i like china :
[root@localhost test]$ vi 1.html
按i进入输入模式,输入:
i like china
按esc键退出输入模式,输入
:wq
退出。
[root@localhost test$] vi 2.html
按i进入输入模式,输入:
you like china
按esc键退出输入模式,输入
:wq
退出。
3.运行替换命令,like感情不够强烈,呵呵,我们这里要将2个文件中的字符 like 换为 love :
[root@localhost test]$ find . -name '*.html' -print0 | xargs -0 perl -pi -e 's/like/love/g'
4.检查替换结果:
[root@localhost test]$ cat 1.html
i love china
[root@localhost test]$ cat 2.html
you love china
(the end)
No comments:
Post a Comment