Van 7-23 februari 2014 organiseerde het Internationaal Olympisch Commité1 (IOC) haar Olympische Winterspelen in Sotchi, Rusland.
In totaal werden er tijdens die Spelen 98 wedstrijden georganiseerd in 15 verschillende wintersportdisciplines. De wedstrijden vonden plaats in twee clusters van nieuwe locaties: een Olympisch Park gebouwd in Sotsji's Imeretinsky-vallei aan de kust van de Zwarte Zee, met het Olympisch Stadion Fisht2 en de indoor-locaties van de Spelen op loopafstand, en sneeuwevenementen in het resort van Krasnaya Polyana3.
De Olympische Winterspelen van 2014 waren de duurste Olympische Spelen uit de geschiedenis. Hoewel oorspronkelijk begroot op 12 miljard dollar, zorgden verschillende factoren ervoor dat het budget groeide naar 51 miljard dollar, wat meer dan drie keer de kost is van de laatste Olympische Spelen in Londen en ruim boven de geschatte kost van 44 miljard dollar voor de Olympische Zomerspelen van 2008 in Beijing.
De aanloop naar deze Spelen werd gekenmerkt door een aantal grote controverses, waaronder beschuldigingen dat corruptie onder ambtenaren leidde tot bovengenoemde kostenoverschrijdingen, zorgen over de veiligheid van LGBT4-atleten en -toeschouwers als gevolg van recente overheidsacties, protesten van etnische Circassian-activisten over het gebruik van een locatie waarvan ze geloven dat er in de 19e eeuw een volkerenmoord plaatsvond, en bedreigingen door jihadistische groepen verbonden aan de opstand in de Noord-Kaukasus. In 2016 bevestigde een onafhankelijk rapport in opdracht van het World Anti-Doping Agency5 (WADA) beschuldigingen dat van ten minste eind 2011 tot augustus 2015 meer dan duizend Russische atleten in verschillende sporten, waaronder zomer-, winter- en Paralympische sporten, profiteerden van een door de overheid georganiseerde doofpotoperatie. In december 2017 besliste het IOC om het Russisch Olympisch Comité te schorsen, met een optie voor schone atleten om als onafhankelijke deel te nemen aan de Olympische Winterspelen van 2018. Het IOC stelde dat het door de Russische staat gesponsorde dopingprogramma
[...] één van de ergste aanslagen was tegen de integriteit en de reputatie van de Olympische Spelen.
Het tekstbestand winterolympics.txt6 bevat informatie over alle medailles die uitgereikt werden tijdens de Olympische Winterspelen van 2014. Elke regel van het bestand bevat informatie over één van de uitgereikte medailles. Deze omschrijving bestaat uit de volgende zes velden die van elkaar worden gescheiden door tabs: i) wintersportdiscipline, ii) wedstrijd, iii) doelgroep, iv) naam van winnaar(s), v) nationaliteit van de winnaar(s) en vi) kleur medaille (goud, zilver of brons). Als er meerdere medaillewinnaars zijn van een bepaalde kleur, dan worden hun namen (vierde veld) en nationaliteiten (vijfde veld) van elkaar gescheiden door komma's. Voor en na die komma's komen nooit spaties voor. Je mag ervan uitgaan dat de velden geen tabs of puntkomma's bevatten.
Gevraagd wordt om — gebruik makend 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 bestaat uit zo weinig mogelijk tekens. 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 winterolympics.i.txt (ZIP7),
die telkens de inhoud van het bestand bevatten nadat de $$i$$-de opdracht
werd uitgevoerd.
Vervang alle scheidingstekens (tabs) door puntkomma's en verwijder alle spaties vooraan en achteraan de informatievelden. Deze wijzigingen moeten ook doorgevoerd worden op de eerste regel. Zo moet
sport onderdeel groep naam land medaille Langlaufen 50km vrije stijl mannen Maksim Vylegsjanin RUS zilver kunstrijden paren Aliona Savchenko,Robin Szolkowy GER brons curling vrouwen Jennifer Jones,Kaitlyn Lawes,Dawn McEwen,Jill Officer,Kirsten Wall CAN goud Alpineskiën Super G mannen Jan Hudec,Bode Miller CAN,USA brons Langlaufen Sprint vrouwen Vesna Fabjan SLO brons kunstrijden paren Tatjana Volosozjar,Maksim Trankov RUS goud …
bijvoorbeeld omgezet worden naar (winterolympics.1.txt8)
sport;onderdeel;groep;naam;land;medaille Langlaufen;50 km vrije stijl;mannen;Maksim Vylegsjanin;RUS;zilver kunstrijden;;paren;Aliona Savchenko,Robin Szolkowy;GER;brons curling;;vrouwen;Jennifer Jones,Kaitlyn Lawes,Dawn McEwen,Jill Officer,Kirsten Wall;CAN;goud Alpineskiën;Super G;mannen;Jan Hudec,Bode Miller;CAN,USA;brons Langlaufen;Sprint;vrouwen;Vesna Fabjan;SLO;brons kunstrijden;;paren;Tatjana Volosozjar,Maksim Trankov;RUS;goud …
Schrap alle Russische medaillewinnaars (nationaliteit = RUS) uit het bestand. We krijgen dan (winterolympics.2.txt9)
sport;onderdeel;groep;naam;land;medaille kunstrijden;;paren;Aliona Savchenko,Robin Szolkowy;GER;brons curling;;vrouwen;Jennifer Jones,Kaitlyn Lawes,Dawn McEwen,Jill Officer,Kirsten Wall;CAN;goud Alpineskiën;Super G;mannen;Jan Hudec,Bode Miller;CAN,USA;brons Langlaufen;Sprint;vrouwen;Vesna Fabjan;SLO;brons snowboarden;Halfpipe;vrouwen;Torah Bright;AUS;zilver biatlon;10km sprint;mannen;Dominik Landertinger;AUT;zilver …
Zet alle wintersportdisciplines (eerste veld) en wedstrijden (tweede veld) om naar kleine letters. We krijgen dan (winterolympics.3.txt10)
sport;onderdeel;groep;naam;land;medaille kunstrijden;;paren;Aliona Savchenko,Robin Szolkowy;GER;brons curling;;vrouwen;Jennifer Jones,Kaitlyn Lawes,Dawn McEwen,Jill Officer,Kirsten Wall;CAN;goud alpineskiën;super g;mannen;Jan Hudec,Bode Miller;CAN,USA;brons langlaufen;sprint;vrouwen;Vesna Fabjan;SLO;brons snowboarden;halfpipe;vrouwen;Torah Bright;AUS;zilver …
Gebruik het formaat <eerste naam> en <tweede naam> in het veld met de namen van de atleten bij alle medailles die uitgereikt werden aan twee atleten. Gebruik het formaat <eerste naam>, ... in het veld met de namen van de atleten bij alle medailles die werden uitgereikt aan meer dan twee atleten. We krijgen dan (winterolympics.4.txt11)
sport;onderdeel;groep;naam;land;medaille kunstrijden;;paren;Aliona Savchenko en Robin Szolkowy;GER;brons curling;;vrouwen;Jennifer Jones, ...;CAN;goud alpineskiën;super g;mannen;Jan Hudec en Bode Miller;CAN,USA;brons langlaufen;sprint;vrouwen;Vesna Fabjan;SLO;brons snowboarden;halfpipe;vrouwen;Torah Bright;AUS;zilver …
Sorteer de uitgereikte medailles eerst alfabetisch volgens de eerste drie velden (zonder onderscheid te maken tussen hoofdletters en kleine letters), en tenslotte volgens de kleur van de uitgereikte medaille (zesde veld) in de volgorde goud, zilver, brons. We krijgen dan (winterolympics.5.txt12)
sport;onderdeel;groep;naam;land;medaille alpineskiën;afdaling;mannen;Matthias Mayer;AUT;goud alpineskiën;afdaling;mannen;Christof Innerhofer;ITA;zilver alpineskiën;afdaling;mannen;Kjetil Jansrud;NOR;brons alpineskiën;afdaling;vrouwen;Dominique Gisin en Tina Maze;SUI,SLO;goud alpineskiën;afdaling;vrouwen;Lara Gut;SUI;brons alpineskiën;combinatie;mannen;Sandro Viletta;SUI;goud …