我有像这样的文字
text
\centering
more text
我想将其转换为:
text
more text
使用 Perl
我的代码是:
perl -00 -pe 's/\R+\\centering\R+/\n/g' example.md
根本不起作用!
请注意,这和我的替代方案
perl -00 -pe 's/\\centering/*/g' example.md
产生输出
text
*
more text
和
perl -00 -pe 's/\R+/\n*/g' example.md
生产
text
*\centering
*more text
所以,它们可以单独工作,但不能一起工作。我做错了什么?!
答案1
不要用作0
记录分隔符,这样使用更方便777
perl -0777 -pe 's/\R+\\centering\R+/\n/g' example.md
# ^^^
产生您想要的结果。
从文档:
特殊值 00 将导致 Perl 以段落模式读取文件。任何 0400 或以上的值都将导致 Perl 读取整个文件,但按照惯例,值 0777 通常是用于此目的的值。