Eventuell ist hier auch der Präprozessor, wie man ihn von C/C++ kennt, oder die nahezu unbekannten Makroprozessoren - ich glaube m4 heißt einer - gut geeignet, das Problem zu lösen.
template:
#include "data"
Das Ergbebnis
ist ERG
gut.
data:
#define ERG skdjhfjskdhfs sdkjfskdjfskdljfslkd 42
Aufruf:
cpp template
An m4 habe ich aber kaum noch Erinnerung. So oder so - auch wenn man mit sed arbeitet, kann eine selbstdefinierte Auszeichnung die Arbeit vereinfachen. Hier:
Das Ergbebnis
ist ~~ERG~~
gut.
kann das sed-Kommando 's/~~ERG~~/foobar 42/' lauten, und man muß nicht ein 'ist ' mit weiteren Randbedingungen suchen.
Der Weg mit dem Präprozessor erzeugt dagegen sowas:
# 1 "template"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "template"
# 1 "data" 1
# 2 "template" 2
Das Ergbebnis
ist skdjhfjskdhfs sdkjfskdjfskdljfslkd 42
gut.
- wie man oben den Krempel unterdrückt wüßte ich auch nicht, außer mit sed, tail, grep wieder, und dann kann man die auch wieder gleich nutzen.