Как заменить переменные оболочки в сложных текстовых файлах

У меня есть несколько текстовых файлов, в которые я ввел переменные оболочки (например, $ VAR1 или $ VAR2).

Я хотел бы взять эти файлы (один за другим) и сохранить их в новых файлах, где все переменные были бы заменены.

Для этого я использовал следующий сценарий оболочки (находится в StackOverflow):

while read line
do
    eval echo "$line" >> destination.txt
done < "source.txt"

Это очень хорошо работает с очень простыми файлами.

Но на более сложных файлахEval» команда делает слишком много:

Строки, начинающиеся с "#" пропущены

Анализ файлов XML приводит к множеству ошибок

Есть ли лучший способ сделать это? (в сценарии оболочки ... я знаю, что это легко сделать с помощью Ant, например)

С уважением

Ответы на вопрос(8)

Ваш ответ на вопрос