Perl搜索和替换

时间:2018-12-04 12:59:51

标签: linux bash perl search replace

我正在尝试在文件中搜索一些字符串,并使用perl替换它们:

perl -pe "s/RBRef/$REF/" HeaderRBRS.xml > $HDIR/$FNAME.xml
perl -pe "s/MessageIdentifier/$MessageIdentifier/" HeaderRBRS.xml > $HDIR/$FNAME.xml
perl -pe "s/FileDigestValue/$digestNr/" HeaderRBRS.xml > $HDIR/$FNAME.xml
perl -pe "s/filename/$FNAME/" HeaderRBRS.xml > $HDIR/$FNAME.xml

我如何搜索和替换多个字符串,因为添加另一个命令只会覆盖输出文件:

perl -pe "s/filename/$FNAME/" HeaderRBRS.xml > $HDIR/$FNAME.xml

在最后一种情况下,每次仅执行{{1}}。

谢谢。

1 个答案:

答案 0 :(得分:1)

-e之后将所有替换项作为一个参数传递。用分号;分隔。

perl -pe "s/filename/$FNAME/;s/RBRef/$REF/;..." infile > outfile