-2

我想在 perl 中使用 grep,但我在这里很困惑。我想做的是,有一个文件,例如-

this is abctemp1
this is temp2
this is temp3x
this is abctemp1

现在,我想使用模式“temp”从这个文件中提取唯一的单词,即“abctemp1,temp2,temp3x”,并希望将它存储在一个数组中。这个怎么做?

4

2 回答 2

1

每行的单词都在,如果包含并且还没有看到,@F则被推入,@rtemp

perl -anE 'push @r, grep { /temp/ && !$s{$_}++ } @F}{ say for @r' file
于 2013-07-10T08:27:30.863 回答
1
use strict; use warnings;

my (@array, %seen);
/(\w*temp\w*)/ && !$seen{$1}++ && push @array, $1 while <DATA>;
print "$_\n" for @array;

__DATA__
this is abctemp1
this is temp2
this is temp3x
this is abctemp1
于 2013-07-10T08:16:25.323 回答