原帖由 nimoncoffee 于 2005-11-21 17:34 发表
:%s/串/串/g
这个方法只是对具体的某一个jsp文件进行替换
我现在需要的是对上千个jsp文件进行一次性的替换,请再次赐教,谢谢!
原帖由 q1208c 于 2005-11-21 17:43 发表
这个得用 sed 了. 因为要处理在两行或多行的情况, 写起来有点麻烦.
原帖由 nimoncoffee 于 2005-11-21 17:52 发表
我要替换的只是很短的一句话,如把:abcdefg.com替换为aaaaaaa.co.uk
如果用sed,请问如何来写?Thanks!
原帖由 nimoncoffee 于 2005-11-21 17:52 发表
我要替换的只是很短的一句话,如把:abcdefg.com替换为aaaaaaa.co.uk
如果用sed,请问如何来写?Thanks!
原帖由 bingosek 于 2005-11-21 18:03 发表
sed 's/abcdefg.com/aaaaaaa.co.uk/' filename
会把整个文件的abcdefg.com替换为aaaaaaa.co.uk
就象上面说的那样,用一个for遍历文件
原帖由 q1208c 于 2005-11-21 18:05 发表
这样好象不行吧? 因为原文件没变的. 总要生成新的文件才行. 然后再改回原文件名的.
当然, 我写得还有一个问题, 就是如果这个词被分开两行就不行了. 这个要分开处理一下, 要多很多步的.
原帖由 bingosek 于 2005-11-21 18:13 发表
你可以做一个重定向,我只不过是给出sed替换的一种语法
原帖由 kartwall 于 2005-11-21 21:52 发表
-i 就可以不用将sed的结果重定向然后再覆盖回原来的文件,sed会直接修改原来的文件
可以看看sed的manual
这个问题其实很简单,可以这样写命令:
cat *.jsp | sed -i "s/aaa/bbb/g"
原帖由 采风 于 2005-11-22 10:54 发表
cat *.jsp这样不行吧?![]()
原帖由 shtang 于 2005-11-22 12:25 发表
perl -pi -e 's/aaa/bbb/g' *.jsp
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |