Re: 问一个sed的问题

2006-12-01 文章 Xie Yanbo
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 函数 的方法匹配注释的话,就会是的包含有 /* */

Re: 问一个sed的问题

2006-11-30 文章 shell
-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: 可以的

Re: 问一个sed的问题

2006-11-29 文章 amateur
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 */ 这种注释就比 较麻烦了。

Re: 问一个sed的问题

2006-11-29 文章 jun yu
可以的 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 |

Re: 问一个sed的问题

2006-11-29 文章 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; /* this block is commented do_other_thing;

Re: 问一个sed的问题

2006-11-29 文章 shell
-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;

Re: 问一个sed的问题

2006-11-29 文章 lnxpgn
如果你的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

Re: 问一个sed的问题

2006-11-29 文章 Li Guo
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

Re: 问一个sed的问题

2006-11-29 文章 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: 可以的 http://www-128.ibm.com/developerworks/cn/linux/shell/sed/sed-1/index.html 具体你可以看上面链接的介绍.

Re: 问一个sed的问题

2006-11-28 文章 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] edit files in place (makes backup if extension supplied)

Re: 问一个sed的问题

2006-11-28 文章 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], --in-place[=SUFFIX]

Re: 问一个sed的问题

2006-11-28 文章 Stanley Peng
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],

Re: 问一个sed的问题

2006-11-28 文章 jun yu
vim 那个我也用,但是匹配路径的时候要打很多的\/\/,比较麻烦,用sed不用,所以想研究一下这个试试。 在06-11-29,jun yu [EMAIL PROTECTED] 写道: sed默认是输出到stdout里,但是当我需要对多个文件进行替换操作时,就有问题了,比如: sed -e 's/x/s/' *.html html文件有很多个,不知道怎么样才能替换多个文件。 感觉应该是通过多个命令行工具组合来进行,但是就是一下子想不明白。 谁有这方面的经验吗?

Re: 问一个sed的问题

2006-11-28 文章 jun yu
对了就是这个,非常感谢! 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]