Как заменить переменные оболочки в сложных текстовых файлах
У меня есть несколько текстовых файлов, в которые я ввел переменные оболочки (например, $ VAR1 или $ VAR2).
Я хотел бы взять эти файлы (один за другим) и сохранить их в новых файлах, где все переменные были бы заменены.
Для этого я использовал следующий сценарий оболочки (находится в StackOverflow):
while read line
do
eval echo "$line" >> destination.txt
done < "source.txt"
Это очень хорошо работает с очень простыми файлами.
Но на более сложных файлахEval» команда делает слишком много:
Строки, начинающиеся с "#" пропущены
Анализ файлов XML приводит к множеству ошибок
Есть ли лучший способ сделать это? (в сценарии оболочки ... я знаю, что это легко сделать с помощью Ant, например)
С уважением