相关文章推荐
开心的山羊  ·  C# Modbus ...·  1 年前    · 
英俊的红酒  ·  javascript - Argument ...·  2 年前    · 

perl + 只有在与行中的字符串完全匹配时才删除该行

1 人关注

I work on the following file:

more file1
name="UAT/CC/Global/MES/UK/adWerum-UK" 
name="UAT/CC/Global/MES/UK/adWerum-UK-Adapter" 
name="UAT/CC/Global/MES/UK/adWerum-UK1" 
name="HOME/UAT/CC/Global/ME/UK/adWerum-UK" 

我创建了以下perl命令,以便只删除带有反斜线的字符串。

UAT/CC/Global/ME/UK/adWerum-UK

perl的语法。

perl -n -i -e 'print unless m/\Q$ENV{A}\E/' file1

问题是perl删除了所有包含该行的行。

UAT/CC/Global/ME/UK/adWerum-UK    
A=UAT/CC/Global/MES/UK/adWerum-UK
export A=UAT/CC/Global/ME/UK/adWerum-UK
perl -n -i -e 'print unless m/\Q$ENV{A}\E/' file1
more file1
file is empty

虽然预期的结果是

name="UAT/CC/Global/MES/UK/adWerum-UK-Adapter" 
name="UAT/CC/Global/MES/UK/adWerum-UK1" 
name="HOME/UAT/CC/Global/ME/UK/adWerum-UK" 

请告知我的perl语法需要做什么修改,以便只删除双倍配额之间的匹配字符串的行。