Het tekstbestand topscorer.txt1 bevat informatie over de 50 spelers die het meeste doelpunten gemaakt hebben in matchen van de UEFA Champions League. De eerste regel van dit bestand bevat de hoofding. Alle andere regels bevatten de volgende informatievelden van één speler: i) rang, ii) naam speler, iii) land, iv) doelpunten, v) gespeelde matchen (Apps), vi) gemiddeld aantal doelpunten per match (Ratio), vii) jaar van eerste match (Start year), viii) jaar van laatste match (Stop year) en ix) clubs waarvoor de speler gespeeld heeft (Clubs). De informatievelden worden telkens van elkaar gescheiden door één enkele tab, waarbij het jaar van de laatst gespeelde match eventueel leeg kan zijn als de speler nog actief is. Als een speler voor meerdere clubs gespeeld heeft, dan worden ook de namen van deze clubs telkens door een tab gescheiden.
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. Alle opdrachten moeten na elkaar uitgevoerd worden. Geen enkele opdracht mag de eerste regel met de hoofding wijzigen, tenzij dit expliciet in de omschrijving van de opgave vermeld staat. Ter controle kan je gebruik maken van de meegeleverde bestanden topscorer.i2 ($$0 \le i \le 5$$), die telkens de inhoud van het bestand bevatten nadat de i-de opdracht werd uitgevoerd.
Vervang het huidige scheidingsteken door een puntkomma (;
). Vervang in het veld met de clubs waarvoor de speler gespeeld heeft alle tabs door een komma gevolgd door een spatie (,
). Zo moet bijvoorbeeld
#Rank Player Country Goals Apps Ratio Start year Stop year Clubs
1 Cristiano Ronaldo Portugal 88 121 0.73 03 Manchester United Real Madrid
2 Lionel Messi Argentina 80 102 0.78 05 Barcelona
3 Raúl Spain 71 142 0.5 95 11 Real Madrid Schalke 04
4 Ruud van Nistelrooy Netherlands 56 73 0.77 98 09 PSV Manchester United Real Madrid
5 Thierry Henry France 50 112 0.45 97 10 Monaco Arsenal Barcelona
omgezet worden naar
#Rank Player Country Goals Apps Ratio Start year Stop year Clubs
1;Cristiano Ronaldo;Portugal;88;121;0.73;03;;Manchester United, Real Madrid
2;Lionel Messi;Argentina;80;102;0.78;05;;Barcelona
3;Raúl;Spain;71;142;0.5;95;11;Real Madrid, Schalke 04
4;Ruud van Nistelrooy;Netherlands;56;73;0.77;98;09;PSV, Manchester United, Real Madrid
5;Thierry Henry;France;50;112;0.45;97;10;Monaco, Arsenal, Barcelona
Voeg de velden Start year
en Stop year
samen tot één enkel veld waarbij de beide jaartallen gescheiden worden door een liggend streepje (-
). Voeg voor elk jaartal ook een afkappingsteken ('
) toe (indien de speler nog actief is, dan mag er geen afkappingsteken toegevoegd worden voor het ontbrekende jaar van laatste match). Toegepast op het vorige voorbeeld wordt dit
#Rank Player Country Goals Apps Ratio Start year Stop year Clubs
1;Cristiano Ronaldo;Portugal;88;121;0.73;'03-;Manchester United, Real Madrid
2;Lionel Messi;Argentina;80;102;0.78;'05-;Barcelona
3;Raúl;Spain;71;142;0.5;'95-'11;Real Madrid, Schalke 04
4;Ruud van Nistelrooy;Netherlands;56;73;0.77;'98-'09;PSV, Manchester United, Real Madrid
5;Thierry Henry;France;50;112;0.45;'97-'10;Monaco, Arsenal, Barcelona
Verwijder de regels met spelers die voor 4 of meer ploegen gespeeld hebben.
Wijzig de volgorde van de velden naar: i) goals, ii) naam, iii) ratio, iv) aantal matchen (Apps), v) jaartallen en vi) land. De velden met de ranking en de ploegen moeten dus weggelaten worden. Toegepast op het vorige voorbeeld wordt dit
#Rank Player Country Goals Apps Ratio Start year Stop year Clubs
88;Cristiano Ronaldo;0.73;121;'03-;Portugal
80;Lionel Messi;0.78;102;'05-;Argentina
71;Raúl;0.5;142;'95-'11;Spain
56;Ruud van Nistelrooy;0.77;73;'98-'09;Netherlands
50;Thierry Henry;0.45;112;'97-'10;France
Sorteer de lijst met spelers volgens het Ratio
veld van hoog naar laag. Als spelers een gelijk gemiddeld aantal doelpunten per match hebben, dan moeten ze alfabetisch op naam gesorteerd worden.
Plaats je commando’s voor de vijf delen van deze vraag in het indienvenster onder de titels. Maak geen aanpassingen aan de regels die al reeds in het venster staan, deze regels worden gebruikt om het bestand op te splitsen. Een voorbeeld van een (foutieve) inzending vind je via deze link3.
In de feedbackpagina kan je controleren of de opsplitsing gelukt is.