In het tekstbestand streets.txt1 kan je de informatie van alle straten van Gent in JSON-formaat vinden. Dit bestand bevat slechts 1 regel, die begint met {"StratenInGent":[ gevolgd door een lijst van straatobjecten gescheiden door een komma, om te eindigen op ]}. Een straatobject begint met een {, eindigt met een } en bevat een aantal informatievelden gescheiden door een komma. Elk informatieveld heeft het formaat "naam veld":"waarde veld". De volgorde van de informatievelden is: postcode, straatcode, straatnaam, onpaar van, onpaar tot, paar van, paar tot, sector, stadsdeel, wijkNr, wijknaam.
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 streets.i.txt, die telkens de inhoud van het bestand bevatten nadat de $$i$$-de opdracht werd uitgevoerd.
Zorg er voor dat elk straatobject op zijn eigen lijn komt te staan. De {"StratenInGent":[ in het begin van het bestand en de ]} op het einde moeten weggelaten worden, net als de komma's tussen de straatobjecten. Zo moet
{"StratenInGent":[{"postcode":"9000","straatcode":"2101","straatnaam":"Aaigemstraat","onpaar_van":"","onpaar_tot":"","paar_van":"","paar_tot":"","sector":"A40","stadsdeel":"Gent-Zuid","wijkNr":"22","wijknaam":"Stationsbuurt Noord"},{"postcode":"9000","straatcode":"7131","straatnaam":"Banierstraat","onpaar_van":"","onpaar_tot":"","paar_van":"2","paar_tot":"30","sector":"E32","stadsdeel":"Gent-Noordoost","wijkNr":"13","wijknaam":"Dampoort"},{"postcode":"9051","straatcode":"8511","straatnaam":"Broekkantstraat","onpaar_van":"1","onpaar_tot":"25","paar_van":"2","paar_tot":"60","sector":"J200","stadsdeel":"Gent-Zuid","wijkNr":"27","wijknaam":"Sint-Denijs-Westrem"}]}
bijvoorbeeld omgezet worden naar (streets.1.txt2)
{"postcode":"9000","straatcode":"2101","straatnaam":"Aaigemstraat","onpaar_van":"","onpaar_tot":"","paar_van":"","paar_tot":"","sector":"A40","stadsdeel":"Gent-Zuid","wijkNr":"22","wijknaam":"Stationsbuurt Noord"} {"postcode":"9000","straatcode":"7131","straatnaam":"Banierstraat","onpaar_van":"","onpaar_tot":"","paar_van":"2","paar_tot":"30","sector":"E32","stadsdeel":"Gent-Noordoost","wijkNr":"13","wijknaam":"Dampoort"} {"postcode":"9051","straatcode":"8511","straatnaam":"Broekkantstraat","onpaar_van":"1","onpaar_tot":"25","paar_van":"2","paar_tot":"60","sector":"J200","stadsdeel":"Gent-Zuid","wijkNr":"27","wijknaam":"Sint-Denijs-Westrem"}
Laat telkens de naam van het informatieveld en het daaropvolgende dubbelpunt weg. Verwijder ook de accolades aan het begin en einde van elke regel. Toegepast op het vorige voorbeeld wordt dit (streets.2.txt3)
"9000","2101","Aaigemstraat","","","","","A40","Gent-Zuid","22","Stationsbuurt Noord" "9000","7131","Banierstraat","","","2","30","E32","Gent-Noordoost","13","Dampoort" "9051","8511","Broekkantstraat","1","25","2","60","J200","Gent-Zuid","27","Sint-Denijs-Westrem"
Verwijder de dubbele aanhalingstekens die rond de verschillende velden staan, en vervang de komma door een puntkomma als scheidingsteken. Toegepast op het vorige voorbeeld wordt dit (streets.3.txt4)
9000;2101;Aaigemstraat;;;;;A40;Gent-Zuid;22;Stationsbuurt Noord 9000;7131;Banierstraat;;;2;30;E32;Gent-Noordoost;13;Dampoort 9051;8511;Broekkantstraat;1;25;2;60;J200;Gent-Zuid;27;Sint-Denijs-Westrem
Verander de volgorde van de velden van postcode, straatcode, straatnaam, onpaar van, onpaar tot, paar van, paar tot, sector, stadsdeel, wijkNr, wijknaam naar straatnaam, wijknaam, stadsdeel, postcode, onpaar van, onpaar tot, paar van, paar tot. De velden straatcode, sector en wijkNr mogen weggelaten worden. Toegepast op het vorige voorbeeld wordt dit (streets.4.txt5)
Aaigemstraat;Stationsbuurt Noord;Gent-Zuid;9000;;;; Banierstraat;Dampoort;Gent-Noordoost;9040;1;31;; Broekkantstraat;Sint-Denijs-Westrem;Gent-Zuid;9051;1;25;2;60
Verwijder de regels waarvan het veld onpaar tot (veld 6) ontbreekt, het veld paar tot (veld 8) ontbreekt of waar beide velden ontbreken Toegepast op het vorige voorbeeld wordt dit (streets.5.txt6)
Sorteer de straten aflopend volgens paar tot. Indien straten dezelfde paar tot waarde hebben, sorteer dan aflopend volgens onpaar tot. Indien ook onpaar tot gelijk is, sorteer dan alfabetisch op straatnaam. Toegepast op het vorige voorbeeld wordt dit (streets.6.txt7)
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.