On 2006年11月30日 22:24, amateur write:
On Thu, Nov 30, 2006 at 11:05:47AM +0800, Xie Yanbo wrote:
On 2006年11月30日 10:14, amateur write:
那是我没有表达清楚了,我的主要目的是去掉源代码中的注释,这个需要在多行
中进行搜索匹配,应该不是多行替换,因为 sed
的替换操作好似只能在一行内
使用,而 sed 的行操作 (d/p)
都是针对整行进行的,比如我用匹配 main 函数
的方法匹配注释的话,就会是的包含有 /* */
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
amateur 写道:
On Wed, Nov 29, 2006 at 09:19:54PM +0800, shell wrote:
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
amateur 写道:
On Wed, Nov 29, 2006 at 07:29:53PM +0800, jun yu wrote:
可以的
On Wed, Nov 29, 2006 at 10:53:43AM +0800, Quinn Li wrote:
sed会不会有这样的参数?
我一般是用 vim 做这个工作
vim *.html
然后在命令模式输入冒号,后面跟上这个命令
: argdo % s/x/s/ge | update
(指的是对于所有*.html,执行替换,并且存盘)
然后退出vim
有没有办法使得可以替换多行内容,比如将一个 C++ 语言源文件中的所有注释
全部去掉,对于 // 开始的注释比较好处理,但对于 /* xxx */ 这种注释就比
较麻烦了。
可以的
http://www-128.ibm.com/developerworks/cn/linux/shell/sed/sed-1/index.html
具体你可以看上面链接的介绍.
2006/11/29, amateur [EMAIL PROTECTED]:
On Wed, Nov 29, 2006 at 10:53:43AM +0800, Quinn Li wrote:
sed会不会有这样的参数?
我一般是用 vim 做这个工作
vim *.html
然后在命令模式输入冒号,后面跟上这个命令
: argdo % s/x/s/ge |
On Wed, Nov 29, 2006 at 07:29:53PM +0800, jun yu wrote:
可以的
http://www-128.ibm.com/developerworks/cn/linux/shell/sed/sed-1/index.html
具体你可以看上面链接的介绍.
上面好象没有提到任何与多行模式相关的内容,不知道你是怎么做的,能提示一
下吗?比如下例:
int main()
{
do_something; /* this block is commented
do_other_thing;
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
amateur 写道:
On Wed, Nov 29, 2006 at 07:29:53PM +0800, jun yu wrote:
可以的
http://www-128.ibm.com/developerworks/cn/linux/shell/sed/sed-1/index.html
具体你可以看上面链接的介绍.
上面好象没有提到任何与多行模式相关的内容,不知道你是怎么做的,能提示一
下吗?比如下例:
int main()
{
do_something;
如果你的sed有-i选项
sed -i -e 's/x/s/' *.html
如果没有可以用一个简单的脚本
-
#!/bin/sh
for file in `ls *.cpp`;do
sed -e 's/x//' $file tmpfile
cp tmpfile $file
done
rm -f tmpfile
-
去掉/*x*/样式的注释
sed -r -e 's/\/\*.*\*\///g' test.cpp
jun
sed -i[.backup-postfix] -e '...' files
这个-i选项是在sed版本4以后加入的,所以如果你用的是之前的版本话,就无法用到这个功能了,此时可以用perl完成相同的功能,
perl -pi[.backup-postfix] -e '...' files
On 11/30/06, lnxpgn [EMAIL PROTECTED] wrote:
如果你的sed有-i选项
sed -i -e 's/x/s/' *.html
如果没有可以用一个简单的脚本
-
#!/bin/sh
On Wed, Nov 29, 2006 at 09:19:54PM +0800, shell wrote:
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
amateur 写道:
On Wed, Nov 29, 2006 at 07:29:53PM +0800, jun yu wrote:
可以的
http://www-128.ibm.com/developerworks/cn/linux/shell/sed/sed-1/index.html
具体你可以看上面链接的介绍.
On Wed, Nov 29, 2006 at 10:41:52AM +0800, jun yu wrote:
sed默认是输出到stdout里,但是当我需要对多个文件进行替换操作时,就有问
题了,比如:
sed -e 's/x/s/' *.html
html文件有很多个,不知道怎么样才能替换多个文件。
摘自 sed(1) 手册页:
-i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if extension supplied)
我都用perl
perl -pi -e 's/xxx/yy/g' *.html
Ming Hua 写道:
On Wed, Nov 29, 2006 at 10:41:52AM +0800, jun yu wrote:
sed默认是输出到stdout里,但是当我需要对多个文件进行替换操作时,就有问
题了,比如:
sed -e 's/x/s/' *.html
html文件有很多个,不知道怎么样才能替换多个文件。
摘自 sed(1) 手册页:
-i[SUFFIX], --in-place[=SUFFIX]
yes, me too.
Wing sun 写道:
我都用perl
perl -pi -e 's/xxx/yy/g' *.html
Ming Hua 写道:
On Wed, Nov 29, 2006 at 10:41:52AM +0800, jun yu wrote:
sed默认是输出到stdout里,但是当我需要对多个文件进行替换操作时,就有问
题了,比如:
sed -e 's/x/s/' *.html
html文件有很多个,不知道怎么样才能替换多个文件。
摘自 sed(1) 手册页:
-i[SUFFIX],
vim 那个我也用,但是匹配路径的时候要打很多的\/\/,比较麻烦,用sed不用,所以想研究一下这个试试。
在06-11-29,jun yu [EMAIL PROTECTED] 写道:
sed默认是输出到stdout里,但是当我需要对多个文件进行替换操作时,就有问题了,比如:
sed -e 's/x/s/' *.html
html文件有很多个,不知道怎么样才能替换多个文件。
感觉应该是通过多个命令行工具组合来进行,但是就是一下子想不明白。
谁有这方面的经验吗?
对了就是这个,非常感谢!
2006/11/29, Ming Hua [EMAIL PROTECTED]:
On Wed, Nov 29, 2006 at 10:41:52AM +0800, jun yu wrote:
sed默认是输出到stdout里,但是当我需要对多个文件进行替换操作时,就有问
题了,比如:
sed -e 's/x/s/' *.html
html文件有很多个,不知道怎么样才能替换多个文件。
摘自 sed(1) 手册页:
-i[SUFFIX], --in-place[=SUFFIX]
14 matches
Mail list logo