Archiv verlassen und diese Seite im Standarddesign anzeigen : definierten abschnitt in einer datei ersezten
meinereinerseiner
31-03-2005, 11:40
hi,
ich nochmal mit einem 2. problem:
habe eine datei:
bla
bla
####start
weis nicht wie viele
zeilen hier jetzt kommen und
den inhalt kenne ich auch nicht
####ende
bla
bla
und daraus soll folgendes werden:
bla
bla
####start
so hier kommt das neue
zeugs aus einer anderen datei rein
####ende
bla
bla
wie könnte ich das mit der bash lösen?
vielen dank
der tom
peschmae
31-03-2005, 13:19
Folgende Schritte würde ich machen:
1) Ein m4-Includedings einfügen z.B. vor dem ####start:
sed s/####start/include(`/dateilein')\n####start/
2) das ####start bis ####ende löschen:
sed /###start/,/####ende/d
leider kommt da gleich auch noch das start und ende mit, aber das kannst du ja nachher immer noch einfügen
3) m4-Makroprozessor darauf loslassen (der fügt die Datei ein) - musst halt gucken dass die Datei ein neues ####start und ende enthätlt oder das vorher mit sed irgendwie reinschmuggeln à la
sed s/\(include(.*)\)/####start\n\1\n####ende/
Das sollte eigentlich genügen
MfG Peschmä
Das ganze geht auch ohne m4, zumindest bei GNU sed:
sed -i '/^####start/ {p; r FUELLDATEI
}; /^####end/ p; /^####start/,/^####end/ d' DATEI achte auf den Newline nach FUELLDATEI.
(Die Fuelldatei braucht die Marker nicht zu enthalten)
peschmae
31-03-2005, 21:55
Sowas hatte ich auch angedacht nur gings bei mir dann irgendwie nicht, da hab ich gedacht m4 ist auch nett und je mehr Tools desto besser :D
MfG Peschmä
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.