请告知如何删除 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