我想在 perl 中使用 grep,但我在这里很困惑。我想做的是,有一个文件,例如-
this is abctemp1
this is temp2
this is temp3x
this is abctemp1
现在,我想使用模式“temp”从这个文件中提取唯一的单词,即“abctemp1,temp2,temp3x”,并希望将它存储在一个数组中。这个怎么做?
每行的单词都在,如果包含并且还没有看到,@F
则被推入,@r
temp
perl -anE 'push @r, grep { /temp/ && !$s{$_}++ } @F}{ say for @r' file
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