2

У меня есть текст, который выглядит так

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 ответ1

2

Не используйте 0 качестве разделителя записей, удобнее использовать 777

perl -0777 -pe 's/\R+\\centering\R+/\n/g' example.md
#      ^^^

дает желаемый результат.

Из документации:

Специальное значение 00 заставит Perl заморозить файлы в режиме абзаца. Любое значение 0400 или выше приведет к тому, что Perl будет отбраковывать файлы целиком, но по соглашению значение 0777 обычно используется для этой цели.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .