
У меня есть текст, который выглядит так
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 обычно используется для этой цели.