dann kann die Lösung mit den geschweiften Klammerpaaren den Lernaufwand effizient senken.
Dann kann das folgende ganz einfach und effizient den Aufwand für den Programmierer und das Programm senken:
<!-- template: file template.txt //-->
Kleine {{FARBE}} Männchen stammen vom {{PLANET}}.
Dann hilft sowas:
#! /usr/bin/bash
### file myTemplateToPHP.sh
## replace simple Placeholders with php-Syntax
## {{ with <?=$tpl['
## }} with '];?>
placeHolderLeft='{{';
placeHolderRight='}}';
replacementLeft="<?=\$tpl['";
replacementrRight="'];?>";
while [ $1 ]; do
fileIn=$1;
if [ -w $fileIn ]; then
#txt=`cat ${fileIn} | tr "\n" '\n'`;
txt='';
while read row ; do
row=$(echo ${row} | sed "s#${placeHolderLeft}#${replacementLeft}#g");
row=$(echo ${row} | sed -s "s#${placeHolderRight}#${replacementrRight}#g";);
txt="${txt}\n${row}";
done < ${fileIn};
fileOut=$(echo ${fileIn} | sed -s 's#\.txt$#.php#i');
echo ${txt} > ${fileOut};
err=$?;
if [ "0"=="${err}" ]; then
echo "Datei '${fileOut}' aus '${fileIn}' erzeugt.";
else
echo "Beim Schreiben der Datei '${fileOut}' (aus '${fileIn}') trat ein Fehler auf.";
fi
else
echo "Die Datei '${fileIn}' gibt es nicht.";
fi
shift;
done;
RUN:
myTemplateToPHP.sh *.txt
Ergebnis:
Datei 'template.php' aus 'template.txt' erzeugt.
cat template.php
<!-- template: file template.txt //-->
Kleine <?=$tpl['FARBE'];?> Männchen stammen vom <?=$tpl['PLANET'];?>