在所有文件中搜索并替换字符串

在所有文件中搜索并替换字符串

我意识到这可能严格来说不是一个 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 + ...

现在,如果您在开始撰写文档时有这个想法,那么做到这一点并不难。但就我而言,我已经写了很多页(包括术语)。现在我想用 替换所有提及 eg 的内容$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

可能会起到一定作用。(首先保存一份文件副本:-)

相关内容