Имеем два одинаковых по размеру и формату записи (форма: «VAR_Digit=VAL»; при этом «VAR» принимает только два значения: в одном документе «new», в другом - «old» соответственно, а «Digit» бывает разным, но в обоих списках одинаковое, то есть для каждого «new_XXX=...» найдётся «old_XXX=...», но с другим значением - «new_1=875» соответствует «old_1=674»).
Проблема: хотя списки и соответствуют друг другу по количеству строк, числа у имён переменных остаются рандомными, а число строк заранее не известно.
Решение первого шага: для того, чтобы не маяться с неопределяемыми заранее диапазонами чисел воспользовался выборкой из одного списка:
cat "list1" | grep new_ | sed 's/new\(_[0-9]\{1,2\}\)=[0-9]\{1,9\}/\1/g'
Задача: Сравнивать значения «old_XXX=...» и «new_XXX=...». Если значение «новой» переменной отличается от старой «старой» - напечатать этот диапазон:
seq ${old_XXX} ${new_XXX}
Решение второго шага: Пытался собрать обработчик вида
fi [ {old}_{digit} < {new}_{digit} ] ; then .... ; fi
Решение через read
read ${переменная 1}${переменная 2}
echo ${значение переменной1 и 2 } // ввод без пробелов слитно одним текстом.
// выводит значение , значения переменной 1 и 2. Переменная не должна начинаться с цифры и тд.
g=a1
h=a2
read ${g}${h}
# Text
echo ${a1a2}
Text