Het tekstbestand municipalities.txt1 bevat informatie over alle gemeentes in het Vlaams gewest. Elke regel bevat de volgende gegevens over één bepaalde gemeente: $$i$$) naam, $$ii$$) stad of gemeente, $$iii$$) provincie, $$iv$$) oppervlakte in $$km^2$$ , $$v$$) aantal inwoners en $$vi$$) lijst van deelmunicipalities. De verschillende informatievelden worden van elkaar gescheiden door een dubbelpunt (:). De hoofding van het tekstbestand bestaat daarnaast uit een aantal commentaarregels die beginnen met een hekje (#).
Gevraagd wordt om — gebruikmakend van de teksteditors vi of vim — een reeks commando's op te stellen die achtereenvolgens de volgende opdrachten uitvoeren. Probeer voor elke opdracht zo weinig mogelijk commando's te gebruiken en zorg er voor dat elk van deze commando's uit zo weinig mogelijk tekens bestaat. De commando's mogen geen programmeerbare filters (bv. awk) gebruiken. Alle opdrachten moeten na elkaar uitgevoerd worden. De opdrachten mogen de eerste regel (hoofding) niet wijzigen, tenzij dit expliciet anders vermeld staat. Ter controle kan je gebruikmaken van de meegeleverde bestanden municipalities.i.txt, die telkens de inhoud van het bestand bevatten nadat de $$i$$-de opdracht werd uitgevoerd.
Zorg er voor dat alle velden gescheiden worden door een puntkomma (;), en dat alle spaties vooraan en achteraan elk veld verwijderd worden. Zorg er ook voor dat de tekst 'gem.' vervangen wordt door de tekst 'gemeente'. Zo moet bijvoorbeeld
Beringen:stad:Limburg:78,30:42758:Beringen:Beverlo: Koersel:Paal Brasschaat : gem.:Antwerpen:38,49:36949:Brasschaat
omgezet worden naar (municipalities.1.txt2)
Beringen;stad;Limburg;78,30;42758;Beringen;Beverlo;Koersel;Paal Brasschaat;gemeente;Antwerpen;38,49;36949;Brasschaat
Zorg er voor dat de deelgemeentes worden opgelijst met een komma en een spatie als scheiding, in plaats van als verschillende velden. Toegepast op het vorige voorbeeld wordt dit (municipalities.2.txt3)
Beringen;stad;Limburg;78,30;42758;Beringen, Beverlo, Koersel, Paal Brasschaat;gemeente;Antwerpen;38,49;36949;Brasschaat
Vervang bij gemeentes met een oppervlakte groter of gelijk aan 92 $$km^2$$ de aanduiding 'gemeente' door 'grote gemeente' en bij steden met een oppervlakte kleiner of gelijk aan 38 $$km^2$$ de aanduiding 'stad' door 'kleine stad'. Toegepast op het vorige voorbeeld wordt dit (municipalities.3.txt4)
Mol;grote gemeente;Antwerpen;114,26;34114;Mol Mesen;kleine stad;West-Vlaanderen;3,58;950;Mesen Beringen;stad;Limburg;78,30;42758;Beringen, Beverlo, Koersel, Paal Brasschaat;gemeente;Antwerpen;38,49;36949;Brasschaat
Wissel het veld gemeente/stad van plaats met het veld provincie. Laat het veld met de oppervlakte van de gemeente weg. Toegepast op het vorige voorbeeld wordt dit (municipalities.4.txt5)
Mol;Antwerpen;grote gemeente;34114;Mol Mesen;West-Vlaanderen;kleine stad;950;Mesen Beringen;Limburg;stad;42758;Beringen, Beverlo, Koersel, Paal Brasschaat;Antwerpen;gemeente;36949;Brasschaat
Voeg na de naam van de gemeente een extra veld toe dat de postcode van de gemeente bevat. Gebruik hiervoor het join commando en het bestand postalcodes.txt6. Zorg er ook voor dat de gemeentes gesorteerd worden op naam. Toegepast op het vorige voorbeeld wordt dit (municipalities.5.txt7)
Beringen;3580;Limburg;stad;42758;Beringen, Beverlo, Koersel, Paal Brasschaat;2930;Antwerpen;gemeente;36949;Brasschaat Mesen;8957;West-Vlaanderen;kleine stad;950;Mesen Mol;2400;Antwerpen;grote gemeente;34114;Mol
Volg aandachtig onderstaande richtlijnen bij het indienen van je oplossing:
Plaats je commando's voor de vijf delen van deze vraag onder de titels in het indienvenster.
Maak geen aanpassingen aan de regels die al in het venster staan. Deze worden immers gebruikt om de ingediende oplossing op te splitsen in de verschillende deelantwoorden. Op de feedbackpagina kan je controleren of de opsplitsing gelukt is.