pesquise e substitua string em todos os arquivos

pesquise e substitua string em todos os arquivos

Sei que esta pode não ser estritamente uma pergunta sobre LaTeX, mas ainda assim decidi postá-la aqui, pois outras pessoas podem ter o mesmo problema ocasionalmente.

Estou trabalhando em um documento bastante grande no momento que contém várias equações. Em vez de escrevê-los como:

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

Eu preferiria fazer isso:

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

Agora não é difícil fazer isso se você tiver essa ideia quando começar a escrever em um documento. No meu caso, porém, já tenho muitas páginas escritas (incluindo uma nomenclatura). Agora eu gostaria de substituir todas as menções de, por exemplo, $Q^{h}_{Con}$por $\qCon$. Fazendo isso, eu poderia ter certeza de que não cometi um erro de digitação em algum lugar e com um arquivo $Q^{h}_{Com}$.

Percorrer todos os arquivos por conta própria é muito complicado e o editor tex que estou usando oferece apenas pesquisa e substituição em todos os arquivos abertos. Então tentei usar o Terminal (no Mac) para fazer isso. Consegui usar 'grep' para encontrar todas as instâncias de, por exemplo, $Q^{h}_{Con}$mas não consegui descobrir como substituí-lo por $\qCon$.

Alguém tem uma ideia?

Responder1

algo como

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

Provavelmente faz alguma coisa. (Salve uma cópia dos seus arquivos primeiro :-)

informação relacionada