搜尋並替換所有文件中的字串

搜尋並替換所有文件中的字串

我意識到這可能不是一個嚴格的 LaTeX 問題,但我仍然決定在這裡發布這個問題,因為其他人有時可能會遇到相同的問題。

我目前正在處理一個相當大的文檔,其中包含一堆方程式。而不是將它們寫為:

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

我寧願這樣做:

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

現在,如果您在開始編寫文件時有這樣的想法,那麼做到這一點並不難。然而,就我而言,我已經寫了很多頁(包括術語)。現在我想用 替換所有提到的$Q^{h}_{Con}$例如$\qCon$。這樣做我可以確保我沒有在某個地方出現拼寫錯誤,並使用$Q^{h}_{Com}$.

單獨瀏覽所有文件太複雜了,我使用的 tex 編輯器僅提供所有開啟文件中的搜尋和替換功能。所以我嘗試使用終端機(在 Mac 上)來執行此操作。我已經能夠使用“grep”找到eg的所有實例$Q^{h}_{Con}$,但無法弄清楚如何將其替換為$\qCon$.

有人有主意嗎?

答案1

就像是

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

大概會做某事。 (先儲存文件的副本:-)

相關內容