Переформатирование документа LaTeX по perl

У меня есть документ LaTeX в котором изменения в тексте и уравнения выполняются красным цветом, чтобы их можно отличить от немодифицированного текста:

 {\color{red} MODIFIED TEXT OR EQUATION GOES HERE.} 

Это изменение может быть одним словом, фразой, предложением, абзацем или уравнением. Например:

  \pi \rho \hat{\bf x} \int\omega_{\color{red} \theta} 

или

 {\color{red} This work presents the ``numerical study'' of convection in vertical annuli;} 

Как я могу написать perl one-liner, который может заменить {\color{red} MODIFIED TEXT OR EQUATION GOES HERE.} К MODIFIED TEXT OR EQUATION GOES HERE. ? Я хочу удалить {\color{red} и правую фигурную скобку } по всему документу LaTeX .

2 Solutions collect form web for “Переформатирование документа LaTeX по perl”

 perl -p -i -e 's/{\\color{red}(.*)}/\1/g' filename 

объяснение флагов (от https://stackoverflow.com/a/6302045/330830 ):

-p: Помещает цикл печати вокруг вашей команды, чтобы он воздействовал на каждую строку стандартного ввода. Используется в основном так, что Perl может побить штаны с awk с точки зрения мощности и простоты 🙂

-e: Позволяет вам предоставлять программу как аргумент, а не в файл. Вы не хотите создавать файл сценария для каждого маленького Perl-лайнера.

-i: Изменяет входной файл на месте (делает резервную копию оригинала). Удобно изменять файлы без процесса {copy, delete-original, rename}.

Попробуй это:

 $ echo "{\color{red} MODIFIED TEXT OR EQUATION GOES HERE.}" | \ perl -pe 's/\{\\color\{red\} (.*?)\}/$1/g' MODIFIED TEXT OR EQUATION GOES HERE. 
  • perl + игнорирует строки с замечаниями и удаляет повторяющиеся строки со словом соответствия
  • Как я могу извлечь / изменить строки в текстовом файле, данные которого разделены на поля?
  • Сопоставьте строки файла с заголовками в другом, чтобы получить полный параграф
  • Как использовать sed, чтобы заменить все остальное другой строкой, кроме шаблона?
  • Неудачные зависимости, пытающиеся установить пакет 'libxml2'
  • разделитель полей awk + count в csv и номер строки печати
  • Есть ли альтернатива grep -A -B -C-переключателям (для печати нескольких строк до и после)?
  • Сопоставление столбцов и их замещение
  • Perl создает некоторые скрипты, а некоторые - на экране
  • найти команду для новейших 500 файлов в дереве каталогов, а также быть совместимым с POSIX
  • automake error: Неэкранированная левая фигурная скобка в регулярном выражении устарела
  • Interesting Posts

    lsf bkill все задания PEND без убийства рабочих мест RUN

    udev создает правильные правила, но права исчезают, как только я пытаюсь получить доступ к файлам через C ++

    / usr / bin / awk: слишком длинный список аргументов

    Попытка SSH на Android-телефон, но соединение закрыто

    Есть ли способ отслеживать, что удаляет исполняемый флаг из файла?

    Установите приложение по умолчанию на основе имени файла, а не mimetype

    Характеристики полосы пропускания, CPU и памяти возвращаются в одной строке от терминала

    Как узнать, какие команды будут использовать расширение скобки, а что нет?

    Двойные мониторы, разрешение разрешения DVI-I-VGA-конвертера

    Получить заголовки окон с помощью командной строки

    Дескриптор файла, связанный с сокетом или каналом в proc

    файловая система не смонтирована, она не установлена

    Возможно ли установить две службы для одного пакета с помощью dh_installinit? Как?

    Linux Mint – отображение масштабирования с использованием нескольких экранов

    Советы по улучшению рендеринга и читаемости шрифтов в Ubuntu с помощью KDE

    Linux и Unix - лучшая ОС в мире.