Suchen und Ersetzen von Zeichenfolgen in allen Dateien

Suchen und Ersetzen von Zeichenfolgen in allen Dateien

Mir ist bewusst, dass dies strenggenommen keine LaTeX-Frage ist, aber ich habe mich trotzdem dazu entschlossen, die Frage hier zu posten, da andere gelegentlich dasselbe Problem haben könnten.

Ich arbeite im Moment an einem ziemlich großen Dokument, das eine Reihe von Gleichungen enthält. Anstatt sie so zu schreiben:

    Q^{h}_{Con} = 0.15 \cdot Q^{h}_{Transm} + ...

Ich würde lieber Folgendes machen:

\newcommand{\qCon}{Q^{h}_{Con}}
\newcommand{\qTransm}{Q^{h}_{Transm}}
...
\qCon = 0.15 \cdot \qTransm + ...

Das ist nicht schwer, wenn Sie diese Idee haben, wenn Sie mit dem Schreiben eines Dokuments beginnen. In meinem Fall habe ich jedoch bereits viele Seiten geschrieben (einschließlich einer Nomenklatur). Jetzt möchte ich alle Erwähnungen von zB $Q^{h}_{Con}$durch ersetzen $\qCon$. Auf diese Weise kann ich sicherstellen, dass ich nicht irgendwo einen Tippfehler habe und ein $Q^{h}_{Com}$.

Alle Dateien einzeln durchzugehen ist viel zu kompliziert und der von mir verwendete Tex-Editor bietet nur Suchen und Ersetzen in allen geöffneten Dateien. Daher habe ich versucht, dafür das Terminal (auf dem Mac) zu verwenden. Ich konnte mit „grep“ alle Instanzen von „eg“ finden, $Q^{h}_{Con}$konnte aber nicht herausfinden, wie ich es durch ersetzen kann $\qCon$.

Hat jemand eine Idee?

Antwort1

etwas wie

for i in *.tex
do
sed -i -e 's/Q^{h}_{\([a-zA-Z]*\)}/\\q\1 /g' $i
done

Wahrscheinlich tut es etwas. (Speichern Sie vorher eine Kopie Ihrer Dateien :-)

verwandte Informationen