你如何在Perl中使用sed(第2部分)?

时间:2015-10-28 18:37:43

标签: perl sed

这是与此主题How do you use sed from Perl?

类似的问题

我的问题是:我在csh语句中有一个sed管道,例如:

set lineNumbers= `grep "textToFind" $fileToProcess | s/.*textToFind //' | sed 's/;.*//'`

我想在不使用s2p模块的情况下解决这个问题:

my @linenumbers;
open FH "<$fileToProcess";
while (<FH>)
{
   next if (!m/textToFind/);
   chomp;
   s/.*textToFind //, s/;.*//;
   push @lineNumbers, $_;
}    

但不确定如何在不使用模块的情况下以这种方式包含sed管道。我用逗号分隔了第二个管道。不确定这是否是正确的语法。在chomp之后包括sed管道的任何帮助都是可观的。

谢谢!

1 个答案:

答案 0 :(得分:2)

我认为你要求的是:

my @linenumbers;
open my $INPUT_FH, '<', $fileToProcess;
while (<$INPUT_FH>)
{
   next if (!m/textToFind/);
   push @lineNumbers, $.;
}

$.是当前文件句柄行的perl变量。