是否有一种方法可以将以下内容变成一个perl -pe
而不是按顺序进行管道传递?
cat text.txt | perl -pe "s/PATTERN1/$PATTERN1/g" | perl -pe "s/PATTERN2/$PATTERN2/g"
答案 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