поиск и замена строки во всех файлах

поиск и замена строки во всех файлах

Я понимаю, что это, возможно, не совсем вопрос по 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

Вероятно, что-то делает. (Сначала сохраните копию своих файлов:-)

Связанный контент