文字列の偶数および奇数反復を別の文字列に置き換える

文字列の偶数および奇数反復を別の文字列に置き換える

これを行う方法があることを知っていますが、sed正しく機能させることはできません。を使用するコードを含むLatexファイルがあります$。これをMathJaxに変換したいと思います。これを行うには、aの奇数インスタンスとaの偶数インスタンスを$置き換えるだけです。だから\($\)

Here is Einstein's equation $E=mc^2$ and here is Newton's law $F=ma$

しなければならない

Here is Einstein's equation \(E=mc^2\) and here is Newton's law \(F=ma\)

連続して表示される項目は$同じ行にありますが、複数行がある場合もあります。ファイル全体で交換を行いたいです。どんな助けでも大変感謝します。

ベストアンサー1

GNUの使用sed:

sed -Ez 's/\$([^$]*)\$/\\(\1\\)/g'

またいいえ-E

sed -z 's/\$\([^$]*\)\$/\\(\1\\)/g'

これ-zにより、GNUはsed入力全体を1行として扱います。これは標準機能の拡張ですsed

おすすめ記事