Ik ben nieuw bij UNIX en ik moet een monster of awk
sed programma bij het oplossen van het volgende probleem.
Ik heb een bestand met de volgende indeling. Het bestand is komma gescheiden. Elke record heeft koptekstgegevens looping, gevolgd door gedetailleerde informatie. Naast de gedetailleerde informatie zal variëren op basis van een waarde in de header informatie. Bijvoorbeeld als de header-informatie heeft een waarde van 48 dan is het detail zal hebben 48 sets van detail informatie. Een reeks van gedetailleerde informatie is een set van 3 velden. De andere waarde is 24, dus de details zal ofwel 48 sets of 24 sets van detail.
Wat ik wil doen is het vervangen van de scheidingstekens na de waarde 48 of 24 en rond elke triplete van informatie. Ik highligted de gebieden die in het vet waar ik wil de komma op een semi colon.
Monster van de huidige record:
MEPMD01, 19970819, Sensus, SDGE, SDGE,, 200705221435,1888961, OK, E, KWH, 1,00000015,48
,200705210715, R 00 40,2.0000
,200705210730, R 00 40,1.0000
,200705210745, R 00 40,2.0000
,200705210800, R 00 40,1.0000
,200705210815, R 00 40,2.0000
,200705210830, R 00 40,2.0000
,200705210845, R 00 40,1.0000
,200705210900, R 00 40,2.0000
,200705210915, R 00 40,2.0000
,200705210930, R 00 40,1.0000
,200705210945, R 00 40,2.0000
,200705211000, R 00 40,1.0000
,200705211015, R 00 40,2.0000
,200705211030, R 00 40,2.0000
,200705211045, R 00 40,1.0000
,200705211100, R 00 40,2.0000
,200705211115, R 00 40,2.0000
,200705211130, R 00 40,1.0000
,200705211145, R 00 40,2.0000
,200705211200, R 00 40,1.0000
,200705211215, R 00 40,2.0000
,200705211230, R 00 40,2.0000
,200705211245, R 00 40,1.0000
,200705211300, R 00 40,2.0000
,200705211315, R 00 40,2.0000
,200705211330, R 00 40,1.0000
,200705211345, R 00 40,2.0000
,200705211400, R 00 40,1.0000
,200705211415, R 00 40,1.0000
,200705211430, R 00 40,2.0000
,200705211445, R 00 40,1.0000
,200705211500, R 00 40,1.0000
,200705211515, R 00 40,1.0000
,200705211530, R 00 40,1.0000
,200705211545, R 00 40,1.0000
,200705211600, R 00 40,1.0000
,200705211615, R 00 40,1.0000
,200705211630, R 00 40,1.0000
,200705211645, R 00 40,1.0000
,200705211700, R 00 40,1.0000
,200705211715, R 00 40,1.0000
,200705211730, R 00 40,1.0000
,200705211745, R 00 40,1.0000
,200705211800, R 00 40,1.0000
,200705211815, R 00 40,1.0000
,200705211830, R 00 40,1.0000
,200705211845, R 00 40,1.0000
,200705211900, R 00 40,1.0000
Roy Ayala