我们可以用一个Perl命令进行多次替换吗?

时间:2018-07-25 11:18:20

标签: regex perl

是否有一种方法可以将以下内容变成一个perl -pe而不是按顺序进行管道传递?

cat text.txt | perl -pe "s/PATTERN1/$PATTERN1/g" | perl -pe "s/PATTERN2/$PATTERN2/g"

1 个答案:

答案 0 :(得分:-1)

评论中的答案是完美的,但这是一种愚蠢的方式,只是为了好玩而已:

perl -pe '$_ = s/PATTERN1/$PATTERN1/gr =~ s/PATTERN2/$PATTERN2/gr' text.txt

无论如何,因此您根本不需要使用管道。只需将文件名添加为最后一个参数即可。

仅供参考,这是上面评论中给出的最佳答案:

perl -pe 's/PATTERN1/$PATTERN1/g; s/PATTERN2/$PATTERN2/g' text.txt