请告知如何删除 export PASSORD = 行之后的第一个单词

通过perl一个线性代码(在Linux机器上)

例如,我的文件中有这一行

 export PASSORD=HG&@VFQ1

运行perl语法后的预期结果应为无密码
 export PASSORD=

perl必须与->“export PASSORD =”行完全匹配,否则密码不会从文件中删除。

示例:在以下情况下,不得删除密码:
 export PASSORD =HG&@VFQ1
 exportPASSORD=HG&@VFQ1
 export_PASSORD=HG&@VFQ1
 #export_PASSORD=HG&@VFQ1

我创建了基本的perl one线性语法来删除文件中的任何单词,但只有在匹配以下行后才能成功添加删除单词的功能-> export PASSORD =
 perl -i -pe 's/\QANY_STRING//' file

最佳答案

它将在export PASSORD=之后删除所有内容

perl -i -pe 's/^export PASSORD=\K.*//' file

为了使\K更加乐观,需要Perl v5.10或更高版本。

对于旧版本,
perl -i -pe 's/(?<=export PASSORD=).*//' file
   -or-
perl -i -pe 's/(export PASSORD=).*/$1/' file
   -or-
perl -i -pe 's/export PASSORD=.*/export PASSORD=/' file

08-05 10:16