Het tekstbestand athletes.txt1 bevat de persoonsgegevens van een aantal atleten die deelnamen aan de olympische spelen van Londen 2012. Elke regel van dit bestand bevat informatie over één atleet. Deze informatie bestaat uit de volgende velden, die van elkaar worden gescheiden door een tab: i) familienaam, ii) voornaam, iii) lengte (in cm), iv) gewicht (in kg), v) land, vi) landcode, vii) geslacht (M voor mannen en W voor vrouwen), viii) discipline en ix) wedstrijden. Het laatste veld bevat een lijst van één of meer wedstrijden waaraan de atleet deelnam. Deze worden van elkaar gescheiden door een tab. De overige informatievelden bevatten zelf geen tabs of komma's. Bovenaan het tekstbestand staan optioneel een aantal commentaarregels, die worden voorafgegaan door 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 athletes.i.txt, die telkens de inhoud van het bestand bevatten nadat de $$i$$-de opdracht werd uitgevoerd.
Zorg er voor dat de lijst van wedstrijden gescheiden wordt door een komma (,) en een spatie, in plaats van een tab. Zo moet
Pipes Ben 204 ... Volleyball Men’s Volleyball ADAMS ANTOINE 180 ... Athletics Men’s 200m Men’s 100m Men’s 4 x 100m Relay
bijvoorbeeld omgezet worden naar (athletes.1.txt2)
Pipes Ben 204 ... Volleyball Men’s Volleyball ADAMS ANTOINE 180 ... Athletics Men’s 200m, Men’s 100m, Men’s 4 x 100m Relay
Opmerking: In bovenstaande voorbeelden werden de velden $$iv$$) tot en met $$vii$$) vervangen door drie puntjes (...) om de weergave van de regels niet te breed te maken. De inhoud van deze velden moet uiteraard behouden blijven.
Zorg er voor dat de velden gescheiden worden door een puntkomma (;) in plaats van een tab, en verwijder alle spaties die vooraan en achteraan een veld staan. Vervang ook overal het land Team GB door Great Britain en het land Team USA door United States of America. Toegepast op het vorige voorbeeld wordt dit (athletes.2.txt3)
Pipes;Ben;204;90;Great Britain;GBR;M;Volleyball;Men’s Volleyball ADAMS;ANTOINE;180;79;Saint Kitts and Nevis;SKN;M;Athletics;Men’s 200m, Men’s 100m, Men’s 4 x 100m Relay
Voeg de velden met de voor- en familienaam samen tot één enkel veld. In dit samengestelde veld komt eerst de voornaam, gevolgd door een spatie en daarna de familienaam. Zorg er voor dat enkel de eerste letter van de voornaam en de eerste letter van de familienaam met een hoofdletter geschreven worden, de rest met kleine letter. Toegepast op het vorige voorbeeld wordt dit (athletes.3.txt4)
Ben Pipes;204;90;Great Britain;GBR;M;Volleyball;Men’s Volleyball Antoine Adams;180;79;Saint Kitts and Nevis;SKN;M;Athletics;Men’s 200m, Men’s 100m, Men’s 4 x 100m Relay
Verwijder alle regels waarvan het land een oneven aantal klinkers bevat. Dat betekent dus onder meer dat de voorbeeldregel voor de atleet Ben Pipes moet verwijderd worden.
Sorteer vanuit de teksteditor vi of vim de overblijvende atleten volgens oplopende lengte. Bij gelijke lengte komen de zwaarste atleten eerst.
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.