De Slowaakse immigrant Michel Navratil en zijn Italiaanse vrouw Marcelle Caretto kregen twee zonen: Michel Marcel (1908–2001) en Edmond Roger (1910–1953). Het huwelijk tussen beide ouders verliep moeizaam en eindigde begin 1912 dan ook in een echtscheiding. Marcelle kreeg de voogdij over de kinderen, maar stond wel toe dat ze met Pasen bij hun vader verbleven. Die maakte van de gelegenheid gebruik om de kinderen mee te nemen naar de Verenigde Staten. Na een kort verblijf in Monte Carlo reisden ze door naar Engeland, waar ze op 10 april 1912 in Southampton aan boord gingen van de Titanic.
Michel sr. reisde tweede klas onder het pseudoniem Louis M. Hoffman en liet zijn zonen registreren als John en Fred. Zijn medepassagiers liet hij geloven dat hij weduwnaar was. Toen de Titanic op een ijsberg botste en begon te zinken, werden Michel jr. en Edmond door hun vader in reddingsboot D gezet — de laatste reddingsboot die met succes te water gelaten werd. Zelf overleefde hij de ramp niet.
Na hun redding konden Michel jr. en Edmond zichzelf niet identificeren omdat ze geen Engels spraken. Daarom noemde de media hen "De Titanic-weeskinderen" (Titanic Orphans). De Franstalige passagier Margaret Hays bekommerde zich om de jongens. Ze liet hun foto in verschillende kranten publiceren, in de hoop ze te kunnen identificeren. Toen Marcelle Caretto uiteindelijk de foto zag, reisde ze meteen af naar New York. Ze werd op 16 mei 1912 herenigd met haar kinderen en nam hen terug mee naar Frankrijk.
Hoewel Michel jr. maar vier jaar oud was op het ogenblik van de ramp, bleef hij later altijd volhouden dat hij zich perfect kon herinneren hoe die avond verlopen was. Hij vertelde onder andere:
Ik herinner me niet dat ik bang was. Ik herinner vooral dat ik er echt plezier in had om "plop!" in de reddingsboot te gaan. We belandden naast de dochter van een Amerikaanse bankier die erin slaagde haar hond te redden — vreemd dat niemand daar bezwaar tegen maakte. Je kon heel goed zien dat er mensen van alle rangen en standen op het schip meereisden. Ik realiseerde me pas later dat als we niet in de tweede klas hadden gezeten, we het waarschijnlijk niet zouden overleefd hebben. De mensen die het er levend van af brachten, speelden vaak vals en waren zeer agressief. Wie eerlijk was had eigenlijk geen schijn van kans.
Michel Navratil jr. was tot zijn overlijden in 2001 ook bekend als de laatste mannelijke overlevende van de ramp met de Titanic.
Het tekstbestand titanic.txt1 bevat een tabel in Markdown2 met een passagierslijst van de RMS Titanic3. Dat betekent dat alle velden in de tabel ingesloten zitten tussen verticale strepen (|). De velden bevatten zelf geen verticale strepen (|) en ook geen puntkomma's (;). De eerste regel is de hoofding van de tabel en bevat de namen van de velden. De tweede regel is een scheidingsregel tussen de hoofding en de regels met de informatievelden. Elke volgende regel bevat gegevens over één passagier, bestaande uit negen velden:
Name: naam van de passagier; de naam heeft een vast formaat bestaande uit een familienaam, een komma (,), een spatie, een aanspreektitel, een spatie en één of meer voornamen; de familienaam bevat nooit komma's; de aanspreektitel bevat nooit spaties en eindigt altijd op een punt
Survived: geeft aan of de passagier de ramp met de Titanic overleefd heeft (yes) of niet (no)
Class: klasse waarin de passagier op de Titanic meereisde (1: eerste klasse; 2: tweede klass; 3: derde klasse)
Ticket: nummer op het ticket van de passagier; groepen die samen reizen (partners, kinderen, personeel, …) delen hetzelfde ticketnummer
Fare: prijs die passagier voor ticket betaalde (in Amerikaanse dollar); een natuurlijk getal of een kommagetal dat een punt (.) gebruikt als decimaalteken
Cabin: nummer van de kajuit waarin de passagier verbleef tijdens de reis; dit veld kan leeg zijn als de passagier niet in een kajuit verbleef
Embarked: haven waar de passagier inscheepte (C: Cherbourg; Q: Queenstown; S: Southampton)
Sex: geslacht van de passagier (male: man; female: vrouw)
Age: leeftijd van de passagier; een natuurlijk getal of een kommagetal dat een punt (.) gebruikt als decimaalteken; de oudste passagier was 80 jaar; dit veld kan leeg zijn als de leeftijd van de passagier niet gekend is
Enkel de velden met het nummer van de kajuit (Cabin) en de leeftijd (Age) van de passagiers kunnen leeg zijn.
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 titanic.i.txt (ZIP4), die telkens de inhoud van het bestand bevatten nadat de $$i$$-de opdracht werd uitgevoerd.
Zet de tabel in Markdown5-formaat om naar CSV6-formaat met een puntkomma (;) als veldscheidingsteken. Dit doe je door de scheidingsregel (de tweede regel) te verwijderen, de verticale strepen (|) vooraan en achteraan elke regel te verwijderen, de verticale strepen (|) als veldscheidingstekens te vervangen door puntkomma's (;), en alle spaties vooraan en achteraan elk veld te verwijderen. Ook de hoofding moet mee aangepast worden. Zo moet
| Name | Survived | Class | Ticket | Fare | Cabin | Embarked | Sex | Age | |-----------------------------------------------------------------|----------|-------|--------------------|----------|-----------------|----------|--------|------| | Braund, Mr. Owen Harris | no | 3 | A/5 21171 | 7.25 | | S | male | 22 | | Cumings-Thayer, Mrs. Florence Briggs | yes | 1 | PC 17599 | 71.2833 | C85 | C | female | 38 | | Heikkinen, Miss. Laina | yes | 3 | STON/O2. 3101282 | 7.925 | | S | female | 26 | | Futrelle-Peel, Mrs. Lily May | yes | 1 | 113803 | 53.1 | C123 | S | female | 35 | | Allen, Mr. William Henry | no | 3 | 373450 | 8.05 | | S | male | 35 | | Moran, Mr. James | no | 3 | 330877 | 8.4583 | | Q | male | | | McCarthy, Mr. Timothy J | no | 1 | 17463 | 51.8625 | E46 | S | male | 54 | | Palsson, Master. Gosta Leonard | no | 3 | 349909 | 21.075 | | S | male | 2 | ...
bijvoorbeeld omgezet worden naar (titanic.1.txt7)
Name;Survived;Class;Ticket;Fare;Cabin;Embarked;Sex;Age Braund, Mr. Owen Harris;no;3;A/5 21171;7.25;;S;male;22 Cumings-Thayer, Mrs. Florence Briggs;yes;1;PC 17599;71.2833;C85;C;female;38 Heikkinen, Miss. Laina;yes;3;STON/O2. 3101282;7.925;;S;female;26 Futrelle-Peel, Mrs. Lily May;yes;1;113803;53.1;C123;S;female;35 Allen, Mr. William Henry;no;3;373450;8.05;;S;male;35 Moran, Mr. James;no;3;330877;8.4583;;Q;male; McCarthy, Mr. Timothy J;no;1;17463;51.8625;E46;S;male;54 Palsson, Master. Gosta Leonard;no;3;349909;21.075;;S;male;2 ...
Zorg er voor dat de vertrekhaven (Embarked) volledig uitgeschreven wordt. We krijgen dan (titanic.2.txt8)
Name;Survived;Class;Ticket;Fare;Cabin;Embarked;Sex;Age Braund, Mr. Owen Harris;no;3;A/5 21171;7.25;;Southampton;male;22 Cumings-Thayer, Mrs. Florence Briggs;yes;1;PC 17599;71.2833;C85;Cherbourg;female;38 Heikkinen, Miss. Laina;yes;3;STON/O2. 3101282;7.925;;Southampton;female;26 Futrelle-Peel, Mrs. Lily May;yes;1;113803;53.1;C123;Southampton;female;35 Allen, Mr. William Henry;no;3;373450;8.05;;Southampton;male;35 Moran, Mr. James;no;3;330877;8.4583;;Queenstown;male; McCarthy, Mr. Timothy J;no;1;17463;51.8625;E46;Southampton;male;54 Palsson, Master. Gosta Leonard;no;3;349909;21.075;;Southampton;male;2 ...
Splits de naam van de passagier (Name) in drie afzonderlijke velden: de familienaam (Surname), de voornamen (First names), en de aanspreektitel (Title). Ook de hoofding moet mee aangepast worden. We krijgen dan (titanic.3.txt9)
Surname;First names;Title;Survived;Class;Ticket;Fare;Cabin;Embarked;Sex;Age Braund;Owen Harris;Mr.;no;3;A/5 21171;7.25;;Southampton;male;22 Cumings-Thayer;Florence Briggs;Mrs.;yes;1;PC 17599;71.2833;C85;Cherbourg;female;38 Heikkinen;Laina;Miss.;yes;3;STON/O2. 3101282;7.925;;Southampton;female;26 Futrelle-Peel;Lily May;Mrs.;yes;1;113803;53.1;C123;Southampton;female;35 Allen;William Henry;Mr.;no;3;373450;8.05;;Southampton;male;35 Moran;James;Mr.;no;3;330877;8.4583;;Queenstown;male; McCarthy;Timothy J;Mr.;no;1;17463;51.8625;E46;Southampton;male;54 Palsson;Gosta Leonard;Master.;no;3;349909;21.075;;Southampton;male;2 ...
Zorg er voor dat de ticketprijs (Fare) altijd weergegeven wordt als een kommagetal dat een punt (.) gebruikt als decimaalteken en vier cijfers heeft na het decimaalteken. Doe dit op het einde van het getal een decimaal punt toe te voegen indien nodig, en extra nullen toe te voegen als er minder dan vier cijfers na het decimaalteken stonden of alle cijfers vanaf het vierde cijfer na het decimaalteken weg te laten als er meer dan vier cijfers na de komma stonden. We krijgen dan (titanic.4.txt10)
Surname;First names;Title;Survived;Class;Ticket;Fare;Cabin;Embarked;Sex;Age Braund;Owen Harris;Mr.;no;3;A/5 21171;7.2500;;Southampton;male;22 Cumings-Thayer;Florence Briggs;Mrs.;yes;1;PC 17599;71.2833;C85;Cherbourg;female;38 Heikkinen;Laina;Miss.;yes;3;STON/O2. 3101282;7.9250;;Southampton;female;26 Futrelle-Peel;Lily May;Mrs.;yes;1;113803;53.1000;C123;Southampton;female;35 Allen;William Henry;Mr.;no;3;373450;8.0500;;Southampton;male;35 Moran;James;Mr.;no;3;330877;8.4583;;Queenstown;male; McCarthy;Timothy J;Mr.;no;1;17463;51.8625;E46;Southampton;male;54 Palsson;Gosta Leonard;Master.;no;3;349909;21.0750;;Southampton;male;2 ...
Verwijder alle passagiers waarvoor de leeftijd ontbreekt. Voeg achteraan een extra veld Adult toe waarin je aangeeft of de passagier meerderjarig was (yes) of niet (no). Meerderjarig ben je vanaf de leeftijd (Age) van 18 jaar. Ook de hoofding moet mee aangepast worden. We krijgen dan (titanic.5.txt11)
Surname;First names;Title;Survived;Class;Ticket;Fare;Cabin;Embarked;Sex;Age;Adult Braund;Owen Harris;Mr.;no;3;A/5 21171;7.2500;;Southampton;male;22;yes Cumings-Thayer;Florence Briggs;Mrs.;yes;1;PC 17599;71.2833;C85;Cherbourg;female;38;yes Heikkinen;Laina;Miss.;yes;3;STON/O2. 3101282;7.9250;;Southampton;female;26;yes Futrelle-Peel;Lily May;Mrs.;yes;1;113803;53.1000;C123;Southampton;female;35;yes Allen;William Henry;Mr.;no;3;373450;8.0500;;Southampton;male;35;yes McCarthy;Timothy J;Mr.;no;1;17463;51.8625;E46;Southampton;male;54;yes Palsson;Gosta Leonard;Master.;no;3;349909;21.0750;;Southampton;male;2;no Johnson-Berg;Elisabeth Vilhelmina;Mrs.;yes;3;347742;11.1333;;Southampton;female;27;yes ...