PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Konfigurationsdatei verschönern



Pinocchino
24-03-2010, 21:23
Hi Leute,

ich habe eine Konfigurationsdatei die ungefähr so aussieht:


BLOCK_A = Inhalt.1 Inhalt-2
Inhalt.3
Inhalt-4 Inhalt-5
;
BLOCK_B = Inhalt.1 Inhalt-2
Inhalt.3
Inhalt-4 Inhalt-5
;
BLOCK_C =
Inhalt.1 Inhalt-2
Inhalt.3;

BLOCK_D
= Inhalt.1 Inhalt.2
Inhalt-3
;


Es gibt noch mehr Inhalt, aber der ist egal. Alles was dem nicht Entspricht soll also ignoriert werden.

Es soll dann aber so aussehen:


BLOCK_A =
Inhalt.1
Inhalt-2
Inhalt.3
Inhalt-4
Inhalt-5
;

BLOCK_B =
Inhalt.1
Inhalt-2
Inhalt.3
Inhalt-4
Inhalt-5
;

BLOCK_C =
Inhalt.1
Inhalt-2
Inhalt.3
;

BLOCK_D =
Inhalt.1
Inhalt.2
Inhalt-3
;


Ich spiel schon eine ganze Zeit mit sed rum, aber ich komme einfach nciht
weiter. Irgend jemand eine Idee?

msi
24-03-2010, 21:52
spontan würd ich so machen:

perl -ne '!$b and s/\s*([A-Z_]+)\s*=?// and $b=$1 and print "$b =\n"; $b and print "\t$1\n" while s/([^=;\s]+)//; /;/ and print ";\n\n" and $b=0;' < deinedatei


probleme gibts aber wenn nach dem ; in der quelldatei kein \n kommt sondern gleich der neue block... also evtl noch bisserl anpassen