当前位置:  开发笔记 > 编程语言 > 正文

你如何使用Perl的sed?

如何解决《你如何使用Perl的sed?》经验,为你挑选了3个好方法。

我知道如何使用sedgrep,但在Perl中下面的失败.如何sed在Perl程序中工作?

chomp (my @lineNumbers=`grep -n "textToFind" $fileToProcess | sed -n 's/^\([0-9]*\)[:].*/\1/p'`)

Jason Cohen.. 25

建议:使用Perl正则表达式和替换而不是grep或sed.

它的语法基本相同,但功能更强大.最后,它比调用额外的sed进程更有效.



1> Jason Cohen..:

建议:使用Perl正则表达式和替换而不是grep或sed.

它的语法基本相同,但功能更强大.最后,它比调用额外的sed进程更有效.


也许是个人品味,但是一些示例代码会很漂亮.

2> Paul Tomblin..:

你需要用grep或sed做的任何事情都可以更容易地在perl中本地完成.例如(这大致是正确的,但可能是错误的):

my @linenumbers;
open FH "<$fileToProcess";
while ()
{
   next if (!m/textToFind/);
   chomp;
   s/^\([0-9]*\)[:].*/\1/;
   push @lineNumbers, $_;
}


我已经看到它建议你在Perl中使用$ 1而不是\ 1.它应该有更好的性能或类似的东西.

3> Zsolt Botyka..:

我很惊讶没有人提到s2p实用程序,它将sed"脚本"(你知道,大多数时候是oneliners)转换为有效的perl.(而且awk也有一个a2p工具......)

推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有