ネストを解除したいテキストがあります。
\caption[Server HTTP responses]{Server HTTP responses\label{fig:http-status}}
次のようにラベルの前で始まるように、sedに最後の}をバンプさせたい:
\caption[Server HTTP responses]{Server HTTP responses}\label{fig:http-status}
テストテキストに対して正規表現エディターを使用すると、次のようになります。
(\\label\{fig:[a-zA-z0-9 -]{1,}\})\}$
交換された
\}\1
トリックを行うでしょう。これは、debuggex.com と Mozilla 正規表現テスターで動作します。
ただし、これをsedでテストするとき(私はsedの完全な初心者なので、ここで簡単にしてください)、使用します
cat ./file.tex | sed -e 's@(\\label\{fig\:[a-zA-z0-9 -]{1,}\})\}$@\}\1@g' > test_output.txt
戻り値:
sed: -e expression #1, char 47: Invalid content of \{\}
ここで何が間違っていますか?大量のテキスト ファイルを実行して正規表現に置き換える簡単な方法はありますか?