Написал небольшой скриптик, но хочется его улучшить.
Есть шаблон *.html, надо все переменные задать правило там.
replacement(){
sed s/<что-то1>/<что-то другое1>/g \
| sed s/<что-то2>/<что-то другое2>/g \
| sed s/<что-то3>/<что-то другое3>/g \
| sed s/<что-то4>/<что-то другое4>/g
}
changeForOnePart(){
replacement ${1} ${2} a ${3} \
| replacement ${1} ${2} b ${3} \
| replacement ${1} ${2} c ${3}
# и т.д. тут таких 20 штук replacement
}
cat template.html \
| changeForOnePart param1 param2 param 3 \
\
| changeForOnePart param1 param2 param 3 \
\
| changeForOnePart param1 param2 param 3 > result.html
Хочется упростить changeForOnePart, чтобы вызов был тот же, а внутри:
TEMPLATES="a b c d e f g ..." # например, т.е. список параметров каких-то
changeForOnePart(){
for i in ${TEMPLATES}
do
replacement ${1} ${2} ${i} ${3}
done
# ну или for i in ${TEMPLATES}; do replacement ${1} ${2} ${i} ${3} ; done
}
Главное, чтобы входной потом считывал данные, потом передавал далее, т.е. упростить код, но оставить все в рабочем виде.
При использовании for что-то не удается поток удержать, ошибки какие-то.
Если есть идеи, а я уверен, что у вас их полно, напишите как это написать правильно.
Заранее благодарю.
P.S. В bash написать