In mei 1872 ontving Guiseppe Verdi1 deze brief:
Hooggeachte Signor Verdi, — de tweede van deze maand reisde ik naar Parma, aangetrokken door de ophef die ontstaan was rond jouw opera Aida2. Mijn nieuwsgierigheid was zo groot, dat ik een half uur voor aanvang van het stuk al op mijn plaats zat, nr. 120. Ik aanschouwde vol bewondering de mis-en-scène, aanhoorde met plezier de uitstekende zangeres en deed alles wat in mijn mogelijkheden lag om geen enkel detail aan mij te laten ontsnappen. Op het einde van de opera vroeg ik me af of ik tevreden was, en het antwoord was “Nee”. Op de terugweg naar Reggio luisterde ik in de treinwagon naar de meningen die over Aida gedeeld werden. Bijna iedereen was het erover eens dat het een meesterwerk was.
Poster van de opera Aida (Guiseppe Verdi, 1871). Ik kreeg toen het idee om er nog eens naar te luisteren, en op de vierde keerde ik terug naar Parma. Je wilt niet weten welke pogingen ik moest doen om een gereserveerde zitplaats te bemachtigen. Omdat de opkomst zo massaal was, moest ik vijf lire ophoesten om op een comfortabele manier getuige te kunnen zijn van de vertoning.
Hierna kwam ik tot het volgende besluit: het is een opera waarin absoluut niets gebeurt dat enig enthousiasme of iets van opwinding kan opwekken, en zonder de pracht van het spektakel zou het publiek het nooit tot het einde kunnen uithouden. Nadat het de zaal twee of drie keer zal gevuld hebben, zal het verbannen worden naar het stof van de archieven.
U kunt zich, beste Signor Verdi, nu wellicht voorstellen hoezeer ik het betreur dat ik bij deze twee gelegenheden tweeëndertig lire heb uitgegeven. Voeg daarbij de verzwarende omstandigheden dat ik dit alles moeten weten te verantwoorden aan mijn familie, en dat dit geld als een angstaanjagend spook op mijn gemoedsrust weegt. Ik richt me dan ook oprecht tot U, met de vraag om me het volledige bedrag terug te betalen. Dit is mijn factuur:—
Factuur die Bertani Prospero in 1872 aan Guiseppe Verdi bezorgde. In de hoop dat U mij uit deze benarde situatie kunt verlossen, groet ik U van ganser harte.
Bertani.
Mijn adres: Bertani Prospero, Via San Domenico, nr. 5.
Verdi vroeg zijn impresario om de onkosten van de man te vergoeden, behalve zijn avondmaal ("Hij had even goed zijn maaltijden thuis kunnen verbruiken"), in ruil voor een schriftelijke bevestiging om "mijn nieuwe opera's niet meer te aanhoren, zichzelf niet meer bloot te stellen aan de dreiging van spoken, en mij van verdere reisonkosten te besparen."
Het tekstbestand comcast.csv3 bevat een reeks klachten die ingediend werden tegen Comcast Corporation4, een grote kabeltelevisiemaatschappij, internetprovider en telecommaatschappij in de Verenigde Staten. De eerste regel van het bestand bevat een hoofding. Elke volgende regel bevat de beschrijving van één klacht aan de hand van negen informatievelden die telkens door een komma van elkaar gescheiden worden:
Ticket #: uniek volgnummer van klacht
Customer Complaint: tekstuele beschrijving van klacht
Date: datum waarop klacht geregistreerd werd; voorgesteld in het datumformaat DD-MM-YY
Time: tijdstip waarop klacht geregistreerd werd; voorgesteld op 24-uursklok (h:mm:ss)
Received via: kanaal waarlangs klacht binnenkwam
City: stad waar persoon woont die klacht geregistreerd
heeft
State: staat waar persoon woont die klacht geregistreerd
heeft
Zip code: postcode van stad(sdeel) waar persoon woont die klacht geregistreerd heeft
Status: code die aangeeft in welke toestand de afhandeling van de klacht zich bevindt
De informatievelden bevatten zelf geen komma's.
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 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 comcast.i.csv (ZIP5), die telkens de inhoud van het bestand bevatten nadat de $$i$$-de opdracht werd uitgevoerd.
Verwijder de informatievelden met het unieke volgnummer (Ticket #) en het kanaal waarlangs een klacht binnenkwam (Received via), ook in de hoofding. Zo moet
Ticket #,Customer Complaint,Date,Time,Received Via,City,State,Zip code,Status 223441,Payment disappear - service got disconnected,04-08-15,10:22:56,Internet,Acworth,Georgia,30102,Closed 242732,Speed and Service,18-04-15,9:55:47,Internet,Acworth,Georgia,30101,Closed 277946,Comcast Imposed a New Usage Cap of 300GB that punishes streaming.,05-07-15,11:59:35,Internet,Acworth,Georgia,30101,Open 307175,Comcast not working and no service to boot,26-05-15,13:25:26,Internet,Acworth,Georgia,30101,Solved 338519,ISP Charging for arbitrary data limits with overage fees,06-12-15,21:59:40,Internet,Acworth,Georgia,30101,Solved …
bijvoorbeeld omgezet worden naar (comcast.1.csv6)
Customer Complaint,Date,Time,City,State,Zip code,Status Payment disappear - service got disconnected,04-08-15,10:22:56,Acworth,Georgia,30102,Closed Speed and Service,18-04-15,9:55:47,Acworth,Georgia,30101,Closed Comcast Imposed a New Usage Cap of 300GB that punishes streaming.,05-07-15,11:59:35,Acworth,Georgia,30101,Open Comcast not working and no service to boot,26-05-15,13:25:26,Acworth,Georgia,30101,Solved ISP Charging for arbitrary data limits with overage fees,06-12-15,21:59:40,Acworth,Georgia,30101,Solved …
Zet de datum (Date) om van formaat DD-MM-YY naar YY-MM-DD. Bij de voorstelling van de tijd (Time) worden er reeds voorloopnullen gebruikt om de minuten en seconden altijd met twee cijfers voor te stellen, maar dat is niet het geval voor de uren. Voeg ook een voorloopnul toe aan de uren die met één cijfer aangeduid worden, zodat alle uren ook consistent met twee cijfers voorgesteld worden. We krijgen dan (comcast.2.csv7)
Customer Complaint,Date,Time,City,State,Zip code,Status Payment disappear - service got disconnected,15-08-04,10:22:56,Acworth,Georgia,30102,Closed Speed and Service,15-04-18,09:55:47,Acworth,Georgia,30101,Closed Comcast Imposed a New Usage Cap of 300GB that punishes streaming.,15-07-05,11:59:35,Acworth,Georgia,30101,Open Comcast not working and no service to boot,15-05-26,13:25:26,Acworth,Georgia,30101,Solved ISP Charging for arbitrary data limits with overage fees,15-12-06,21:59:40,Acworth,Georgia,30101,Solved …
Voeg de informatievelden met de datum (Date) en het tijdstip (Time) waarop een klacht geregistreerd werd samen tot één enkel informatieveld (Date), door de inhoud van beide velden gescheiden door een spatie achter elkaar te zetten. Vervang het informatieveld met de toestand van een klachtafhandeling (Status) door een informatieveld (Solved) dat de waarde Yes bevat als een klacht afgehandeld werd (inhoud van informatieveld Status was Solved) en de waarde No in alle andere gevallen (dus als inhoud van informatieveld Status iets anders was dan Solved). Pas ook de hoofding aan. We krijgen dan (comcast.3.csv8)
Customer Complaint,Date,City,State,Zip code,Solved Payment disappear - service got disconnected,15-08-04 10:22:56,Acworth,Georgia,30102,No Speed and Service,15-04-18 09:55:47,Acworth,Georgia,30101,No Comcast Imposed a New Usage Cap of 300GB that punishes streaming.,15-07-05 11:59:35,Acworth,Georgia,30101,No Comcast not working and no service to boot,15-05-26 13:25:26,Acworth,Georgia,30101,Yes ISP Charging for arbitrary data limits with overage fees,15-12-06 21:59:40,Acworth,Georgia,30101,Yes …
Beperk de beschrijving van klachten (Customer Complaint) tot maximaal 50 tekens door van een beschrijving die uit meer dan 50 tekens bestaat enkel de eerste 47 tekens over te houden en die te laten volgen door drie punten (...). We krijgen dan (comcast.4.csv9)
Customer Complaint,Date,City,State,Zip code,Solved Payment disappear - service got disconnected,15-08-04 10:22:56,Acworth,Georgia,30102,No Speed and Service,15-04-18 09:55:47,Acworth,Georgia,30101,No Comcast Imposed a New Usage Cap of 300GB that p...,15-07-05 11:59:35,Acworth,Georgia,30101,No Comcast not working and no service to boot,15-05-26 13:25:26,Acworth,Georgia,30101,Yes ISP Charging for arbitrary data limits with ove...,15-12-06 21:59:40,Acworth,Georgia,30101,Yes …
Sorteer klachten oplopend volgens staat (State), stad (City), postcode (Zip code) en datum/tijdstip (Date). We krijgen dan (comcast.5.csv10)
Customer Complaint,Date,City,State,Zip code,Solved Comcast monopoly,15-06-23 16:22:19,Attalla,Alabama,35954,Yes Lack of availability,15-06-15 21:34:28,Cottonwood,Alabama,36320,No Comcast Service,15-06-05 11:37:09,Dothan,Alabama,36301,No ISP Data Cap,15-06-23 22:05:49,Florence,Alabama,35630,No monthly data caps,15-12-06 19:31:37,Gadsden,Alabama,35901,Yes …
Het British Museum11 heeft een kleitablet12 van meer dan 3700 jaar oud, met wat vermoedelijk de oudste klachtenbrief ter wereld is. In 1750 voor Christus hadden ze duidelijk ook al hun problemen.