这是与此主题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管道的任何帮助都是可观的。
谢谢!
答案 0 :(得分:2)
我认为你要求的是:
my @linenumbers;
open my $INPUT_FH, '<', $fileToProcess;
while (<$INPUT_FH>)
{
next if (!m/textToFind/);
push @lineNumbers, $.;
}
$.是当前文件句柄行的perl变量。