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;}
で置き換えることができる1行のコードをどのように記述しますかperl
?私の言葉は、ドキュメント全体で閉じた中括弧を削除することです。{\color{red} MODIFIED TEXT OR EQUATION GOES HERE.}
MODIFIED TEXT OR EQUATION GOES HERE.
{\color{red}
}
LaTeX
答え1
perl -p -i -e 's/{\\color{red}(.*)}/\1/g' filename
標識の説明(https://stackoverflow.com/a/6302045/330830):
-p:標準入力のすべての行で動作するようにコマンドの周りに印刷ループを配置します。主にPerlは関数と単純さの点でawkを上回っています:-)
-e: プログラムをファイルではなく引数として提供できます。すべての小さなPerlは1行のスクリプトファイルを作成したくありません。
-i:入力ファイルを所定の位置に変更します(元のファイルのバックアップ)。 {コピー、元の削除、名前変更}プロセスなしでファイルを簡単に変更できます。
答え2
この試み:
$ echo "{\color{red} MODIFIED TEXT OR EQUATION GOES HERE.}" | \
perl -pe 's/\{\\color\{red\} (.*?)\}/$1/g'
MODIFIED TEXT OR EQUATION GOES HERE.