我在Perl上有以下一线:
perl -MLingua::EN::Sentence=get_sentences -ne 'print "$_\n" for grep { /replace_me/i } @{get_sentences($_)}' "${filePath}"
如何重组此结构,以便能够用可以作为参数传递到脚本中的任何文本字符串(也称为变量)替换“ replace_me”部分?
我知道您不能在单引号内添加变量,但是目前还不确定如何用双引号将其重组。任何帮助,将不胜感激。
提供您已定义REPLACEMENT
环境变量:
export REPLACEMENT=replace_me
您应该可以执行以下任一操作:
perl -MLingua::EN::Sentence=get_sentences -ne 'print "$_\n" for grep { /'$REPLACEMENT'/i } @{get_sentences($_)}' "${filePath}"
或:
perl -MLingua::EN::Sentence=get_sentences -ne 'print "$_\n" for grep { /$ENV{REPLACEMENT}/i } @{get_sentences($_)}' "${filePath}"
用\Q
和\E
引用正则表达式中使用的字符串可能也是明智的,例如grep { /\Q$ENV{REPLACEMENT}\E/i }
。